分享

大家谈谈对框架的挑选 Ember.js、Backbone.js、Knockout.js、Spine.js、Batman.js , Angular.js

 quasiceo 2015-10-23

大家谈谈对框架的挑选 Ember.js、Backbone.js、Knockout.js、Spine.js、Batman.js , Angular.js


  •  1
     

  •   meteor2013 · 2013-01-27 11:14:07 +08:00 · 21936 次点击
    这是一个创建于 999 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Ember.js、Backbone.js、Knockout.js、Spine.js、Batman.js 和 Angular.js

    1. 轻量级的应用选择哪一个会比较好?
    2. 那一个比较简单,容易上手
    3. 哪一个开发周期最短?
    24 回复  |  直到 2013-08-15 01:02:33 +08:00

        1
    qiao   2013-01-27 11:25:06 +08:00   ? 1
    参看 GitHub 上的这个 repo : https://github.com/addyosmani/todomvc

    把使用每个框架写出来的代码对比一下你就应该会有清晰的了解了。

        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./2012/12/29/seven-javascript/

        5
    ljbha007   2013-01-27 14:09:47 +08:00
    我刚才试了一下 我把backbone.js的development version下下来把所有注释都删掉 一共只有768行

    所以用框架只是方便点 其实不用框架也不会多很多劳动量
    重要的是代码结构要清晰简洁 能保证随时可以重构某个模块或者功能而不需要通篇都进行大的改动

        6
    meteor2013   2013-01-27 14:23:17 +08:00
    @ljbha007 我也有同感。

    感觉就写一个非常简单的东西的话,直接Jquery。不用MVC框架反而感觉清爽,执行速度也比较快。

    是不是用MVC的框架好处在于更好的部署代码,因此只有在做很复杂的东西才会有优势?

        7
    meteor2013   2013-01-27 14:45:02 +08:00
    而且好像如果用了像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倒是实践了一下。不知道你们是不是都用过这些东东?

        15
    aisensiy   2013-01-28 10:36:37 +08:00
    @ljbha007 恩,说的好,我也觉得这样简单的框架好,便于入手,也便于根据自己需求改进。

        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   289 天前
    @arden 用了下angular,发现对小页面优势不大,但是维护那些上千行jquery代码的页面,各种dom绑定,反而觉得轻松了

        24
    onlyurei   177 天前
    knockout单独用的话只适合传统的服务器程序页面动态化。
    如果要做单页程序(SPA)的话需要配合其他几个库来实现SPA的所有基本功能。
    最近刚开源我用knockout和其他几个库搭建的微型单页程序框架,有兴趣可以看看:
    https://github.com/onlyurei/knockout-spa

      本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
      转藏 分享 献花(0

      0条评论

      发表

      请遵守用户 评论公约

      类似文章 更多