Angular.js、Backbone.js和其他MV*模式的js库?[关闭]

20 浏览
0 Comments

Angular.js、Backbone.js和其他MV*模式的js库?[关闭]

我对Web应用程序和特别是这个MV*模式都很新手。我们正在开发一个Web应用程序,考虑摆脱jQuery,虽然不完全,但我们试图实现一个支持MVC、MVVM或MVP的客户端语言。基本上是将视图与模型分离的东西。对于这个MV*模式我是新手,我在这个网站上碰巧看到了它。

这个网站列出了(几乎!)所有支持这个MV*模式的客户端语言/框架,访问后我真的很困惑。因为根据这个网站..

说到底,Ember.js是唯一一个拥有我所需的一切的框架。最近,我将一个相对较小的Backbone.js应用程序移植到Ember.js上,尽管有一些小的性能问题,但我对结果代码库更满意。Ember.js的社区由Yehuda Katz领导,也是令人惊叹的。这绝对是需要关注的框架。

但是在Stack Overflow上,我发现了这个回答,它让我认为Angular更好,而在Stack Overflow上的这个回答这个回答让我认为Backbone可能是我要找的。

更糟糕的是,测试结果完全不同。

这里

http://jsfiddle.net/HusVw/1/ Backbone是明显的赢家

http://jsfiddle.net/ericf/NrpcQ/ Backbone再次获胜

http://jsperf.com/angular-vs-knockout-vs-extjs-vs-backbone/2 对于少量数据,Angular是赢家,对于更多数据,Knockout是赢家

http://jsperf.com/knockout-js-vs-direct-dom-manipulation/3 Backbone再次获胜

http://jsperf.com/angular-vs-knockout-vs-ember/33 不可能是Ember,正如网站所提到的

所以,基本上这一切都让我非常困惑,我无法决定我应该学习什么,我应该在网站上实现什么。在测试中,Backbone显然突出,但我听说过很多关于knockout的事情,但我提到的Stack Overflow链接却说到了angular?我知道这可能取决于我当前正在开发的应用程序,但我想要一个更广泛的视角,什么对这个项目和更长期的发展有用?在什么情况下你会更喜欢哪个框架?或者我应该学习它们全部吗?(开个玩笑,不可能在合理的时间内学会所有这些。)

为了让事情更糟糕,我听说过Dart,而且维基百科上说..

Dart的目标是“最终取代JavaScript成为开放网络平台上的通用开发语言。”

所以如果JavaScript将被取代,我为什么还要考虑学习这些JavaScript库/框架呢?

所以,基本上一切都乱了,我完全困惑了。有人能帮我决定吗?

0