2012-12-11 61 views
2

我正在尝试开发基于HTML5画布的应用程序。该应用程序基本上是一个财务数据可视化应用程序,完全运行在HTML5画布上,即每个按钮,事件处理,图形都在HTML5画布中完成。基于HTML5画布的应用程序的MVC框架建议

到目前为止,我已经用了两个库来管理庞大的代码库:

  1. jCotton绘制和事件移交,我们必须修改和添加大量的其他功能,以jCotton和它的工作对我们非常好
  2. RequireJS为模块化这也工作正常

然而,由于我们在原型阶段,我们没有投资于适当的MVC框架,因此,关注点分离,即数据模型,独家观点不正确maintaine d,因为它当时是一个概念验证项目,但现在我正在考虑重构代码并使用一个重型MVC框架来更好地组织我的代码库。

现在,这是我面临的问题,我真的很困惑什么框架选择。有Backbone,EmberJS,SpineJS等,它们都很好。但是我无法对他们做出任何最佳决策。我不是JS专家,我一直在编写JS只有1年,所以这是我遇到这些困难的另一个原因。

很多这些框架似乎十分强调DOM操作是不需要我的项目,我们有我们的自定义的数据结构来表示在画布中的场景。 JS客户端使用一个自定义的xml来与后端服务器进行通信和数据传递。我一直在挖掘Backbone。由于App在Canvas中运行,因此路由器对我无用。基于事件的模型看起来很有吸引力。

我想知道你们中的任何人是否面临过类似的情况以及你为此做了什么。我应该去Backbone,EmberJS等,还是应该更好地设计我自己的简约MVC框架。我应该选择哪一个如果你建议我使用第三方MV *框架?正如我所说的,我一直在挖掘Backbone以查看它是否符合我的需求,我想更多地了解这个特定领域的其他框架。

+1

我不知道答案;但有一件事是,你可能想找到最简约的框架,你可以找到 - 是任何HTML的预测功能将在画布上的应用程序被浪费的原因。这就是说,骨干似乎是一个合理的选择,但,从我所看到的东西,它是仍然较小脊柱可能会更好,甚至不需要jQuery来运行。 – McGarnagle

回答

1

我使用EmberJS实现了一个基于画布的“交互式时间趋势图”,并获得了积极的体验。您不需要在EmberJS中使用HTML/Backbone(html模板)。

EmberJS的自动传播的特性和计算出的属性是一个很好的匹配到一个场景图形API诸如jCotton。

我对jCototn并不熟悉,但乍一看,它看起来像从Ember.Object扩展一个CottonObject类,它可以自动修改场景图的子树来响应Ember属性变化。

相关问题