JavaScript可视化应用程序 - 代码组织,骨干mvc,桌面版本等

时间:2011-05-03 19:00:34

标签: javascript web-applications javascript-framework code-organization backbone.js

我正着手开发一个用于可视化的JavaScript Web应用程序,其中包含带注释的各种图形的书签等 一个典型的例子是:给定一个url状态,显示两个SVG图和一个用于操作的时间滑块以及在这里和那里放置的一些信息性注释。

传统上(并且有一段时间没有编写JS),我会尝试某种模块化的JS方法:

src   
   data
   chart
       chartType1
       chartType2
       chartType3
   layoutManager
   stateManager
   utils
lib
   d3?
   backbone?
   jquery?

......打破数据处理,一些实用功能,状态和放大布局经理等。

但是由于那里有大量的图书馆,也许我应该抓住我的马并尝试新的方法?

代码组织?
  - 像上面或更多的MVC一样?   - 任何有用的特定模式?
 (伪代码非常感谢)

状态处理/模型?
  - Backbone.js
  - JavaScriptMVC

视图吗
  - 有没有使用SVG库(D3,Raphaël等)和mvc框架的JS vis应用程序的好例子?

编译器/ minifier吗
  - 谷歌闭包编译器
  - 贾米特

IDE吗
  - Aptana Studio 3
  - Netbeans
  - 其他?

桌面版?(标准:数据存储,可更新等)
  - 空气
  - Chromium Embedded
  - XULrunner
  - 钛金属加速器
  - 其他选择?

我很抱歉这个问题的范围相当广泛,但如果能够深入了解这些领域,我会考虑回答。所以请帮我选择......

2 个答案:

答案 0 :(得分:1)

如果您已经非常了解MVC,那么您可以使用Backbone做得很好。关于如何组织前端javascript有很多未知数,我们选择了JavascriptMVC,它为您做出了很多决定。

不确定为什么我会使用IDE .. TextMate&控制台对我来说很棒。当我玩它时,NetBeans看起来很不错。 JetBrains RubyMine是最高质量的,也是迄今为止最好的IDE,但它是商用的。

EDIT 是的,JMVC不值得为它提供的东西带来麻烦。 Backbone优雅而简单。唯一的问题是,如果您对代码结构很新,那么您必须定义代码的结构。如果您使用rails,只需复制rails应用程序的组织: 路由器/ 意见/ 模板/ 模型/

当然,每个班级都有一个单独的文件。然后使用一些东西来要求一切,如果你在Rails 3.1或者非常喜欢它,可以使用Sprockets,如果你使用3.0.x,则使用Jammit。

如果你使用coffeescript,只要意识到你的代码可能包含在顶级闭包中,所以如果你要么必须将你的类添加到顶级哈希中,要么将它们声明为window.Classname。 / p>

(实际上,“this”是顶层的“窗口”,因此您可以将其声明为: class @Classname )

祝你好运!

答案 1 :(得分:0)

代码组织? - 我在rails中做MVC(app / views,helpers,controllers,model) - 框架应归为一组IMO

国家处理/模型? - 肯定是Backbone.js。

浏览? - 我不知道vis库。对于一般主干视图和模板,我构建了这个https://github.com/juggy/backrub,它负责根据模型/视图中的事件更新视图。它节省了大量的胶水代码。

编译器/ minifier? - Google Closure编译器 - 贾米特

我使用Jammit和闭包编译器作为后端。 Jammit允许您有效地分组/中断文件。

IDE? 由你决定,越轻越好。

桌面版? (标准:数据存储,可更新等) 使用某些配置,您现在可以在本地运行Web应用程序我想你可以看一下。