什么是最优秀的JavaScript框架?Angular or Backbone?


发布者 kris  发布时间 1397719519219
关键字 技术前沿  JavaScript 

Aaron O'Connell 在Hack News上发表了一篇文章: 我用Backbone做了一个类似Angular向导(Tutorial)的程序,然后增加了260%的代码。(I Coded the Angular Tutorial App in Backbone and it Took 260% More Code)


AngularJS的人用48行JavaScript代码创建了PhoneCat的体验程序。然后我们使用Backone创建相同的程序,我们发现我们使用了171行代码——代码量增加了260%。下面,我们会把Backbone创建的体验程序一步一步贴出来。
前一段时间,我决定去体验一下Angular,因为每个人都在谈论它。我进到了Angular的官网,然后尝试了一下他们的神奇的体验教程。我看到了Angular的优点,然后我想,如果我使用backbone编写相同的程序可能只需要增加一点点代码 —— 一点绑定还有回调就可以了,对吧?
然而,我错了。在使用Backbone重写Angular Tutorial后,我发现增加了非常多的代码,花在很多小地方。我想我可以分享我的Backbone版本,通过一步一步的教程,来更好的比较Angular和Backbone.


这其实是一篇很好的Backbone教程。看来作者是比较喜欢AngularJS的,不过有人也提出了异议:


By freyr

Angular Tutorial应用是一个极好的现成的Angular展示应用。实际上,它是被精确设计用来展现Angular的非凡特性。Angular减少了痛苦,但是一个更加复杂,更固执己见的框架。你写更少模板的代价就是当你为了适应你的特殊需求时,你需要增加更多的更复杂的代码。
这是一个非常重要的权衡(需要吗?)。想想Rails vs. Sinatra or Django vs. Flask. Django 给你一个很大的现成的后端库,完全能满足你现在的工作。但是我不想用Django去写一个非典型的项目,我会选一个更小一些的框架,像Flask.

我看Angular的角度是,我真的不想深入地去研究这种框架,因为复杂度太高了。Backbone只是一种更小的,模块化的,有详细文档的库,它邀请你去了解它的工作原理。如果Angular不能满足我的项目,如果Backbone在工具箱里的话我会非常高兴,我知道这些多写的模板会辅平下面的道路。是的,它们迫使我去更好的组织我程序的架构,这不是一件坏事情。



Cthulhu_

这篇文章没有提到的是Angular大概是800Kb左右(未压缩,压缩后 ~200K, 包括一些模块), 对比 Backbone的 大约~60K(未压缩, 压缩后20K)。如果我算的对的话,




附:关于AngularJS

1) 你已经毁了JavaScript

2) 我们抛弃了AngularJS:单页面应用的5大缺陷

3) 主流JavaScript MVC框架性能比较测试:Angular vs Backbone vs Ember






回复 (4)
  • #
  • #1 redstone 1398042021000
    Angular减少了痛苦,但是一个更加复杂,更固执己见的框架。 这句话是核心,复杂和固执己见。所以他不是一个适应能力很好的东西,他需要程序员去适应他的固执己见。那么产品人员会适应他的这种固执己见吗?项目经理会允许程序员适应这种固执己见吗?
  • #2 牵着你的手 1398131707000
    @redstone

    PM只关系进度,而且也无权干涉使用何技术……
  • #3 饶己匠 1425002804886

    @牵着你的手 #1 只关系进度的pm不是好pm

  • #4 姜个人 1436846684151

    it's depend the project

微信扫码 立即评论