Backbone.js
优点:强大的社区和大量的势头。 Underscore.js也是一个伟大的框架。
缺点:缺乏坚强的抽象和令人不满意。整个框架是出奇的轻巧,导致大量的样板。一个程序越大,这情况就越明显。
Knockout.js
是一个MVVM框架,从它的支持者受到的好评很多。它强调声明UI绑定和自动更新用户界面。
优点:绑定的支持。大文件和惊人的导师制。
缺点:尴尬的绑定语法,缺乏坚实的视图组件层次结构。我想能够轻松地重复使用的组件。我也觉得像识别为MVVM框架是有害的。几乎没有这些框架的任何是MVC的,但都是在MV*品种(MVP,MVVM等)。
Javascript MVC
优点:固社区和遗产。
缺点:基于字符串尴尬的继承模型。控制器是太贴心了意见,并没有绑定。这个名字太普通- 相当于是,如果回报率被称为“Ruby Web框架”。
Google Web Toolkit
GWT是一个重量级客户端工具包,包含的不仅仅是一个框架。它编译的Java到JavaScript中,支持标准的Java库的一个子集。谷歌使用它带动了国内的浪潮。
优点:全面的框架与很好的沟通。固体基于Java的组件继承模型。伟大的庞然大物客户端应用程序。
缺点:尽管谷歌表示,GWT经不起时间的考验。同样DART也明确表示Java不是网络的未来。此外,Java的客户端上的抽象是略显尴尬。
Google Closure
更像是一个工具包,不是简单的一个JavaScript框架。它捆绑了一个编译器和优化器。
优点:由谷歌为他们的许多重要的应用程序使用。基于组件的用户界面组成的不错的系统。
缺点:缺乏用户界面绑定支持。
Ember.js
是最新的竞争者之一。它企图将SproutCore2.0的核心功能集成到更紧凑的模块化架构,更适用于Web。
优点:极其丰富的模板系统组成的视图和UI绑定。
缺点:较新,文档有许多待改进。
Angular.js
由Google开发,它有一些非常有趣的设计选择。
优点:对于模板确定范围和控制器的设计非常深思熟虑。有一个依赖注入系统。支持丰富的UI绑定语法,使事情像过滤和转换值变得轻而易举。
缺点:代码库看起来十分蔓生,而不是非常模块化的。视图还不够模块化。
工作中接触到的框架记录了解【网络文章翻译】