<分区>
过去几年我一直在 Flex 工作。在此之前,我一直在使用 vanilla JavaScript 构建 Web 应用程序。
今天我要切换回 JavaScript,但现在我在为一个新的中型项目选择合适的 JS 框架/库时遇到了麻烦。
虽然所有关于 AngularJS 的评论都是正面的,但我发现开始使用它并不是一件容易的事。问题当然是文档。尽管有一些教程向您展示了如何做基本的事情,但没有人解释这些概念或向您展示如何构建更大的项目。
在发现 AngularJS 之前,我的想法是在 Backbone。积极的一面是有大量关于该主题的文档、教程、截屏视频和书籍。此外,源代码很小,可以用作引用本身(与 AngularJS 不同)。
所以现在我认为,对于开始在 JS 编程中使用框架的人来说,Backbone 可能是比 AngularJS 更好的选择。后来,当我设法训练我的大脑用 JS 思考时,AngularJS 可能更容易理解 + 会有更多可用的文档。
我现在怀疑这是否是正确的选择...
首先,我很确定切换到 JavaScript 是正确的选择。
选择 JavaScript MVC 框架确实是一个艰难的选择,尤其是因为它们像爆米花一样爆开!
这个项目可能对这个决定非常有帮助:http://addyosmani.github.com/todomvc/
这是我的观点。 Backbone 是自由的。它不强加刚性结构。它更像是一组约定而不是实际代码。您肯定会使用不仅仅是 Backbone 框架的东西。这可能具有挑战性,但可能会产生更好的调整结果。 Backbone 具有很强的可扩展性,这是一个很大的优势。
AngularJS 增强了 HTML 语义。只要这么说,您就可以想象它比“纯”Backbone 复杂得多。或许我们会发现 AngularJS 更神奇(当然不是神奇,而是用更少的代码发生的事情,“幕后”,我是说)。
他们解决问题的方法非常不同。
我不打算在这里陈述每一个的每一个优点和缺点。我发布的链接应该可以帮助你。
我也像你一样感到困惑,但简而言之,调查两者,对两者进行一些尖峰实现,并检查 todoMVC 项目。选择更适合您的要求甚至个性的那个。 :)
更公平的比较可能是“Backbone and friends”与“AngularJS”。不要忘记 Backbone 的 friend (插件和模块)。
你可以用两者做一些很棒的事情。