看到一篇关于AngularJS Backbone Ember.js的对比,建议看一看
说说个人的观点(本人学艺不精,只是个人的观点,不保证观点完全正确,请轻拍):
-
backbone.js 短小精悍,非常的灵活,其实拿它跟另外两者比某种程度上不太恰当,另外两者提供的是非常完整全面的框架,Backbone他所提供的正像是他的名字一样backbone,适用于较小非企业级的应用
-
Ember.js (我使用的是早期1.4版本,无法确定新版本是否有改进,所以以下评论只是针对老版本)在之前的一个SPA中使用过,再实际使用过程中感觉不太好(也许是我们没有完全深入的学会),
- 第一感觉就是路由的强大,Ember.js的基本模式就是由路由来控制和处理流程,如果是完全按照这种模式的应用,使用Ember.js会非常的快和简单,但强大的另一面就是感觉很僵硬,如果有些脱离路由这种流程外,来做一些自定义的东西时感觉就非常的不好,很不容易实现,如:动画,自定义的处理
- 数据模型的引入使人感觉整个的框架非常巨大和完整,基本上是一个完整的后端框架了,但这种方式带来的问题是很不灵活,尤其是一对多,多对多这种的关系结构,个人感觉在前端处理这种结构的弊大于利
- rest Api 基本上也是类似的问题,rest api和model搭载起来,真的很难去适应这种强制的要求,在实际的项目中也很难完全符合他过于严格的要求
-
AngularJS 目前正在使用,感觉这个东西真是神器啊,非常的强大完整,但设计又不失灵活,搭配上ui-router(看过该作者的演讲,他也是眼馋Ember.js强大的路由,从而开发的ui-router)使用真的是非常不错,很方便的Pub/Sub,provider,强大灵活的指令,filter,容易实现的动画等,即能清晰的分割出各个模块,又能灵活的搭配适用,个人感觉特别适合复杂的企业级的应用,AngularJS基本上隐去了模型结构,相对Ember.js的模型硬性要求要灵活的多。暂时感觉他的觉点就是有可能性能会稍差,这个也许是我的写的有问题,但在企业中使用基本上不用计较这个问题
本人学艺不精,只是个人的观点,不保证观点完全正确,如有不同意见欢迎留言指教,本人将虚心学习,谢谢