JavaScript可视化应用——代码组织、 Backbone mvc、桌面版等

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

我正着手开发一个用于可视化的 JavaScript 网络应用程序,其特点是使用注释等为各种图形添加书签。
一个典型的例子是:给定一个 url 状态,显示两个 SVG 图形和一个用于操作的时间 slider ,以及到处放置的一些信息注释。

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

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

... 分解数据处理、一些实用函数、状态和布局管理器等

但是面对大量的库,也许我应该冷静下来尝试一种新方法?

代码组织?
- 像上面一样还是像 MVC 一样?
- 有什么具体的模式会有所帮助吗?
(非常感谢伪代码)

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

观看次数?
- 有没有使用 SVG 库(D3、Raphaël 等)和 mvc 框架的 JS vis 应用程序的好例子?

编译器/压缩器?
- 谷歌闭包编译器
- 贾米特

集成开发环境?
- 阿普塔纳工作室 3
- 网 bean
- 其他?

桌面版?(标准:数据存储、可更新等)
- 空气
- 内嵌 Chrome
- XULrunner
- 钛加速器
- 其他选择?

很抱歉,这个问题的范围相当广泛,但如果深入了解这些领域中的任何一个,我将认为它已得到回答。所以请帮我选择...

最佳答案

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

不确定我为什么要使用 IDE..TextMate 和控制台对我来说非常有用。当我使用 NetBeans 时,它看起来不错。 JetBrains RubyMine 是质量最高的,也是迄今为止最好的 IDE,但它是商业的。

编辑 是的,JMVC 不值得为它提供的功能而烦恼。 Backbone 优雅而简单。唯一的问题是您是否对代码结构相当陌生,因为您必须定义代码的结构。如果您使用的是 Rails,只需复制 Rails 应用程序的组织: 路由器/ 意见/ 模板/ 型号/

当然,每个类(class)都有一个单独的文件。然后使用一些东西来要求所有东西,如果您使用 Rails 3.1 或真的喜欢它,则使用 Sprockets,如果您使用 3.0.x,则使用 Jammit。

如果您使用 coffeescript,请意识到您的代码可能包含在顶级闭包中,因此如果您必须将您的类添加到顶级哈希中,或者将它们声明为 window.Classname。

(实际上,“this”是顶层的“window”,所以你可以声明为: 类@类名 )

祝你好运!

关于JavaScript可视化应用——代码组织、 Backbone mvc、桌面版等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5874309/

相关文章:

java - 如何像Java一样在Javascript中创建Bean类?

exception - 信息 - 未处理的 socket.io url

java - 最简单的云存储服务API

django - 使用 django admin 创建整个 Web 应用程序

javascript - 如何配置 dojo.FilteringSelect 以匹配通配符值?

javascript - 当我根据其他状态更新状态时,React 给出错误 "Too many re-renders. React limits the number of renders to prevent an infinite loop."

java - 分析 Java Web 应用程序的启动

javascript - 解析 SVG 并将其添加到 svg 元素

javascript - 在 JavaScript 中使用递归进行碰撞检测圈

javascript - 如何访问 webdriver 中添加的插件