dan*_*ani 9 javascript web-applications code-organization javascript-framework backbone.js
我正着手开发一个用于可视化的JavaScript Web应用程序,其中包含带注释的各种图形的书签等
.典型的例子是:给定一个url状态,显示两个SVG图形和一个用于操作的时间滑块以及一些信息性注释在这里和那里.
传统上(并且有一段时间没有编写JS),我会尝试某种模块化的JS方法:
src
data
chart
chartType1
chartType2
chartType3
layoutManager
stateManager
utils
lib
d3?
backbone?
jquery?
Run Code Online (Sandbox Code Playgroud)
...打破数据处理,一些实用功能,状态和布局管理器等.
但是由于那里有大量的图书馆,或许我应该抓住我的马并尝试一种新方法?
代码组织?
- 像上面或更多的MVC一样吗?
- 任何有用的特定模式?
(伪代码非常感谢)
国家处理/模型?
- Backbone.js
- JavaScriptMVC
看法?
- 有没有使用SVG库(D3,Raphaël等)和mvc框架的JS vis应用程序的好例子?
编译/ minifier?
- Google Closure编译器
- Jammit
IDE?
- Aptana Studio 3
- Netbeans
- 其他?
桌面版?(标准:数据存储,可更新等)
- AIR
- Chromium Embedded
- XULrunner
- Titanium appcelerator
- 其他选项?
对不起,这个问题的范围相当广泛,但如果能够深入了解这些领域,我会考虑回答.所以请帮我选择......
代码组织?- 我像在 Rails 中一样使用 MVC(应用程序/视图、助手、控制器、模型) - IMO 框架应该分组在一起
状态处理/模型?- 当然是 Backbone.js。
意见?- 我不知道 vis 库。对于一般主干视图和模板,我构建了这个https://github.com/juggy/backrub,它负责根据模型/视图中的事件更新视图。它节省了大量的胶水代码。
编译器/压缩器?- Google Closure 编译器 - Jammit
我使用带有闭包编译器的 Jammit 作为后端。Jammit 可让您有效地对文件进行分组/分解。
IDE?由你决定,越轻越好。
桌面版?(标准:数据存储、可更新等)通过一些配置,您现在可以在本地运行 Web 应用程序。我想你可以看看这个。