Marionette.js 与 Chaplin.js 的比较
Posted
技术标签:
【中文标题】Marionette.js 与 Chaplin.js 的比较【英文标题】:Marionette.js compared to Chaplin.js 【发布时间】:2013-04-12 17:16:24 【问题描述】:我目前正在构思一个大型单页 Web 应用程序。 会有很多组件,所以关注点分离对我来说很重要。服务器基本上是一个带有一些糖的 REST 服务器,比如向客户端发送模板代码。
所以我需要决定我想在客户端使用哪个 MVC 框架。
我真的很喜欢backbone.js,所以我想要一个依赖它的大框架。
我过来的是 Marionette.js 和 Chaplin.js。
有没有人使用过一个或两个框架并且可以稍微介绍一下它们?优势、劣势、背后的社区还是它们基本相同?
这不应该是关于哪个更好的讨论,只是一个简短的功能列表,所以我可以更好地决定使用哪个更好,因为我没有时间真正开始使用两者。
【问题讨论】:
9elements.com/io/index.php/comparison-of-marionette-and-chaplin 还有***.com/questions/10847852/… 【参考方案1】:没有与 Marionette 合作过,但基本上卓别林在以下情况下是一个明智的决定:
您需要一个更有主见的架构。如果您需要一组规则/约定来在团队中起床和运行,这很有用。 内存管理是一个问题。 您可能来自 Ruby 背景,使用 Coffeescript 感觉更自如。另外,如果您正在构建一个大型应用程序,那么在卓别林中,请准备好自己解决很多事情。文档是there,但您经常会发现自己“独自一人在黑暗中”。不过,来源得到了很好的评论,非常感谢。
【讨论】:
【参考方案2】:我有大约 1 年的 Marionette.js 经验。 当您拥有自己的架构但不知道如何使用视图层时,Marionette.js 是最佳选择。 我喜欢下一个方案:
-
作为数据层核心的主干(模型、集合、rest api)
Marionette.js 用于视图层(ItemView 用于一个实体,CollectionView 用于实体集合,CompositeView(entity + collection) 等等。
Reveal.js 数据绑定
HBS 作为模板
您自己的路由和核心逻辑
我向您推荐了brunch tool - 是编译、准备和构建您自己的 SPA 的丰富工具。 当然你必须看到Grunt + Yo + Bower它的另一个丰富的工具。
【讨论】:
以上是关于Marionette.js 与 Chaplin.js 的比较的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Marionette.js ItemView 模板访问 Backbone.Model 方法?