Meteor、Ember.js和Backbone.js之间的主要区别是什么?

248

学习Ember.js / Backbone.js 已经在我的待办清单上有一段时间了。现在Meteor已经发布了,我想知道是否有任何具有Meteor,Ember.js和Backbone.js经验的人可以为一个没有任何经验的人总结这三个JavaScript框架的主要区别和优缺点。

具体而言,我想知道每个框架更适合哪些任务,以及为什么其他框架不适合。

编辑:现在我对Meteor有了更多了解,它似乎与Knockout.js更相似,因此欢迎进行与Knockout.js的比较。


3
我觉得这个参考资料很有用。看一下里面不同框架的图表:http://code.tutsplus.com/tutorials/important-considerations-when-building-single-page-web-apps--net-29356 - B Seven
33
多亏了那些“明智”的版主把最受欢迎的Meteor问题封为“无建设性”,现在我们只剩下过时的答案了。好样的,StackOverflow!……既然我不能在这里发表自己的答案,请查看为什么选择Meteor,该网页将Meteor与其他几个框架和库进行了比较。 - Dan Dascalescu
5
我完全同意你的观点,@DanDascalescu。一些版主滥用了他们的特权。 - Askar
2
这个有史以来得票最高的 Meteor 问题现在必须重新开放!它非常非常有建设性! - Erick Petrucelli
1个回答

162
这里有一个对各种MVx JS框架的详细比较: http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/ 评论区也有很好的讨论。我认为如果你想学习这种应用程序开发风格,那么一方面,丰富的开源backbone示例可能对你有好处。但另一方面,虽然Ember是新手,但它实际上比backbone更完整。两者都具有以多种方式实现功能的能力,这可能会让人困惑,但Ember作为标准提供了更多你必须自己编写的backbone代码,对于我个人来说,这比backbone示例的丰富性更重要,可以更快地进行原型制作。
backbone有更成熟的数据持久化插件,但在Ember周围有很强的社区氛围,并且很多贡献库正在取得进展。我对Stack Overflow上这个相对较新的框架有多快(以及其他人)获得高质量的响应感到愉快。
当你说meteor时,我们谈论的是完全不同的东西。如果您想在客户端和服务器端都重复使用代码,则可以查看最近开源的Yahoo mojitohttps://github.com/yahoo/mojito,运行在node.js上-我在过去一周左右一直在 Messing around with it,如果您熟悉backbone/ember或任何其他框架,则很容易掌握。
我还应该说我在一些生产系统中使用了Knockout.js,但从未将其用于完全成型的“应用程序”。我将其连接到mongo接口,以便深入挖掘和分页存储在mongo中的日志。我真的很喜欢它,但我不会在其中构建太大的东西。
好吧,有点冗长 - 是吗 :)

很乐意与任何有兴趣的人进一步探讨。我曾经在实际生产中使用了许多这样的框架(包括不在“前十名”文章中列出的框架),同事们可能已经厌倦了我谈论JS的方式 :-D


11
如果你来到这里,请不要忽视 ToDoMVC 网站上有关 JavaScript 工具比较的精彩内容。 - DOK
1
不错的点子 @DOK,这可能会吸引很多谷歌流量!继续关注/关注http://tastejs.com/,以便在下一个“大型应用程序”版本的todomvc发布时了解最新情况! - joevallender
2
嘿,乔,这个答案已经过时了。想从为什么使用Meteor中添加一些内容吗?(如果不是因为这个,我会自己贡献一个答案。) - Dan Dascalescu
1
当然,丹。看起来我几乎没有提到Meteor;-) 不过维基上有很多信息。如果你愿意,可以发送一个与其他段落长度相同的段落,我会添加它-它绝对相关,现在比我回复时更加相关。如果你愿意,可以通过@ gmail用户SO用户名向我发送邮件。 - joevallender

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接