Marionette.js与Chaplin.js相比

时间:2013-04-19 10:24:20

标签: javascript model-view-controller backbone.js marionette chaplinjs

我目前正在构思一个大型单页面Web应用程序。 会有很多组件,所以关注点分离对我来说很重要。服务器基本上是一个带有一些糖的REST服务器,比如将模板代码发送给客户端。

所以我需要决定使用哪个MVC框架客户端。

我真的很喜欢backbone.js,所以我希望有一个很大的框架依赖它。

我遇到的是Marionette.js和Chaplin.js。

是否有人使用过一个或两个框架并且可以对它们进行一些说明?优势,劣势,背后的社区还是基本相同?

这不应该讨论哪个更好,只是一个简短的功能列表,所以我可以更好地决定使用哪一个,因为我没有时间真正开始使用它们。

2 个答案:

答案 0 :(得分:2)

没有与Marionette合作,但在以下情况下Chaplin基本上是明智的决定:

  • 你需要一个更有见解的架构。如果您需要一组规则/约定来在团队中启动和运行,则非常有用。
  • 内存管理是一个问题。
  • 您可能来自Ruby背景,使用Coffeescript感觉更舒服。

此外,如果你正在建立一个大型应用程序,在卓别林准备自己想出很多东西。文档是there,但通常你会发现自己“孤身一人”。尽管如此,来源已经得到了很好的评论,这是值得赞赏的。

答案 1 :(得分:2)

我对Marionette.js有一年的经验。 当你拥有自己的架构时,Marionette.js是最好的选择,但是你没有想法如何使用视图层。 我喜欢下一个方案:

  1. Backbone作为数据层(模型,集合,rest api)的核心
  2. 视图层的Marionette.js(一个实体的ItemView,实体集合的CollectionView,CompositeView(实体+集合)等等。
  3. Reveal.js数据绑定
  4. HBS作为模板
  5. 您自己的路由和核心逻辑
  6. 我向你推荐brunch tool - 是编译,准备和建立自己的SPA的丰富工具。 当然,你必须看到Grunt + Yo + Bower是另一个丰富的工具。