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 方法?

如何创建一个用户受损的可访问网站:不用鼠标上网?

如何进行backbone.js UI测试

LDAP 与 MYSQL .. JA-SIG CAS 与 LDAP 与 CAS 与 MySQL

python网络编程基础(线程与进程并行与并发同步与异步)

=与==&与&&| 与 || 的区别