1
qiao 2013-01-27 11:25:06 +08:00 1
|
2
insraq 2013-01-27 11:55:24 +08:00 1
你的这三个问题都不是能直接给出答案的。
1. Backbone.js和Spine.js很相近,核心差不多,只是API不同。框架很小,没有DOM Binding - 需要自己写。Backbone.js应用广泛,也比较成熟,社区比较大。 2. Knockout.js则是几乎纯粹的DOM Binding,没有一个默认的组织程序的架构。 3. Ember.js Batman.js Angular.js都比较晚一些,吸取了前两类的优点,既提供DOM Binding,又有MVC架构支持。具体的不同在于DOM Binding的机制,看个人喜好。 |
3
kenshin 2013-01-27 13:20:18 +08:00 via Android
楼主可以看以下两个网址,使用不同框架实现的同一功能。很简单的项目,很容易分辨不同框架之间的特点。
这是我的文章,有什么问题可以在这里问我,我也是初学者,互相交流 :) http://www.adobe.com/cn/devnet/html5/articles/ember-jquery-phonegap.html http://www.adobe.com/cn/devnet/html5/articles/angular-jquery-phonegap.html |
4
engin 2013-01-27 13:32:42 +08:00
这个问题还是很难回答,没有“最好”的框架,只有“最”适合自己的。可以大概了解下各个框架之后再做选择,可以参考一篇翻译的文章:
http://blog.geoinker.com/2012/12/29/seven-javascript/ |
5
ljbha007 2013-01-27 14:09:47 +08:00
我刚才试了一下 我把backbone.js的development version下下来把所有注释都删掉 一共只有768行
所以用框架只是方便点 其实不用框架也不会多很多劳动量 重要的是代码结构要清晰简洁 能保证随时可以重构某个模块或者功能而不需要通篇都进行大的改动 |
6
meteor2013 OP @ljbha007 我也有同感。
感觉就写一个非常简单的东西的话,直接Jquery。不用MVC框架反而感觉清爽,执行速度也比较快。 是不是用MVC的框架好处在于更好的部署代码,因此只有在做很复杂的东西才会有优势? |
7
meteor2013 OP 而且好像如果用了像CakePHP,RoR 之类的框架之后,就完全没有必要用Javascript的前端框架了。
不知道我说得对不对啊,请大家指正。 |
8
starryin 2013-01-27 14:55:42 +08:00
轻量上backbone,很多要自己轮,重量上angular
前端框架解决的问题和后端mvc框架还是有很多不同点的 |
9
ljbha007 2013-01-27 15:51:01 +08:00 1
@meteor2013
前端框架主要是用来做丰富的ajax应用的 可以和ror之类的框架构建的REST API配合 |
10
jinwyp 2013-01-28 00:59:18 +08:00
backbone 或 angular 是目前最好选择. 如果做一个登陆和注册页面, 即使是非常复杂的. 还是jQuery合适.
如果要做一个数据交互非常多的, 例如购物车, 或在线应用. 还是backbone比较好. backbone的好处就是易学,功能少, 而且可以理解很多概念. 而且插件非常多. 如果有很多基础例如mvc 可以用google的angular. 较难. 目前建议在等等 其他的都是根据自己对mvc理解情况 资料比较少. |
11
winnie2012 2013-01-28 08:22:04 +08:00
我看很多老外在这几个框架选来选去,AngularJS是最终归宿,我也跟个潮流
|
12
yaozhifeng 2013-01-28 09:41:02 +08:00
@jinwyp 怎么会觉得Angular难呢,我看了几个框架,Angular最简单易懂,写出来的东西也好维护。backbone我就没看懂,东西太多。
|
13
tss 2013-01-28 10:16:53 +08:00
AngularJS
|
14
fiture 2013-01-28 10:33:05 +08:00
真心木有完全去用其中的某一个框架,backbone倒是实践了一下。不知道你们是不是都用过这些东东?
|
16
jinwyp 2013-02-08 14:50:09 +08:00
其实如果用了 AngularJS Ember.js 这种 jQuer都基本不用了. 就是都是dom binding. 数据json变化了, 网页数据自动更新.所以也不用jQuery了.
backbone是更好了组织程序结构. 但没有其他任何dom binding的功能. 所以如果小页面反而没有直接用jQuery好. 其他例如AngularJS Ember.js 这种都是大而全的功能,想要的功能都有了,例如绑定,mvc结构. 属性计算, 路由等 学起来有些难度,其实了解过一些后端框架 概念都差不多 |
17
WarWithinMe 2013-02-17 16:43:48 +08:00 1
@jinwyp 如果要自定义Dom Binding。例如插入数据时候动画显示,这些MVC框架会不会有些不灵活?
|
18
lyric 2013-02-19 02:22:24 +08:00 via Android
我用spine的原因是它有coffee版而且我可以一晚上读完它的代码。
|
19
shawiz 2013-02-19 02:57:08 +08:00
如果能选择,可以直接跳过 backbone 之流,直接上 ember 或 angular.
ember 和 angular 都尝试过,结果发现 ember 比 angular 大很多,而且默认包没有包含 DataStore, 最糟糕的是,不知道是什么原因,我们怎么改也没法运行 ember 最基本的例子. 最后还是选择了 angular. |
20
jinwyp 2013-02-21 13:49:44 +08:00
@WarWithinMe 你说的动画的问题,是目前所有框架都会遇到的问题, angular在下一个版本会支持动画的问题,动画的问题设计到页面切换,数据载入时机. 比较复杂,目前的框架都没有针对动画做处理. backbone本身没有绑定功能. 而且数据变化时也没必要用动画,只有页面和局部切换时才需要动画. 但都要自己处理
|
21
lyric 2013-02-21 15:32:07 +08:00
看了一下angularJS ... 嗯,我太土了,我打算用它了
|
22
arden 2013-02-28 11:23:32 +08:00 1
真没感觉出来用angularJS这样的框架的优势在哪,总感觉把程序开发搞得越来越复杂了.
|
23
ixiaohei 2015-01-06 17:07:46 +08:00
@arden 用了下angular,发现对小页面优势不大,但是维护那些上千行jquery代码的页面,各种dom绑定,反而觉得轻松了
|
24
onlyurei 2015-04-29 06:05:59 +08:00
knockout单独用的话只适合传统的服务器程序页面动态化。
如果要做单页程序(SPA)的话需要配合其他几个库来实现SPA的所有基本功能。 最近刚开源我用knockout和其他几个库搭建的微型单页程序框架,有兴趣可以看看: https://github.com/onlyurei/knockout-spa |