• 【2012.10.13 上周工作总结】


    上周学习了新的javascript框架Ember,接下来将这个框架与backbone做一些简单比较,同时做一些总结

    一.个人感觉Ember相对于Backbone具有更高的灵活性:

      1.Backbone只支持对Model和View的拓展,并且个人感觉Collection这个类的设定很鸡肋

      2.Ember不仅支持对Model的拓展,还另支持对Control等其他类的拓展,即使在定义之后也可以通过方法对类进行修改。

    创建实例的方式也不仅仅是通过对类的实例化,可以在没有类的情况下直接创建一个实例

    二.Ember的灵活也有是有代价的,比如它的封闭性

      1.Ember提供了创建命名空间的接口

      2.Ember只能使用自己的JS引擎模板,而不是像backbone一样可以更换JS引擎模板。并且Ember的JS引擎模板的语法也比较奇怪

    三.Ember也有一些弊端(个人认为)

      1.Ember对DOM操作事件绑定是以inline的方式,比如:

     <a href="#" title="view again" {{action "searchAgain" target="App.recentUsersController"}}>{{this}}</a>
    

      其中action代表需要调用的方法名,而target代表action方法所属的类,默认为click事件

      这样不是违背了MVC的初衷了,增加了可维护性的难度?

      而backbone的类则是在View中init中就已经定义的,没有这样的问题

    四.其他

      1.backbone和ember都具有同步和监听的功能,技能视图绑定的model数据改变了,视图能自动更新,并且可以监听某个属性的值是否改变,并且为此改变添加回调函数。但是ember做的更为强大,能同步的不仅仅是数据,可以计算出一些attribute和class

    目前只有想到这么多,有需要的话会随时补充

    虽然以上总结是对ember缺陷描述较多,但是仍然还是认为ember比backbone更为强大,更灵活,具体情况还是视具体项目而定

    另有一篇文章可以参考

    http://net.tutsplus.com/tutorials/javascript-ajax/game-on-backbone-and-ember/

  • 相关阅读:
    完整的WSDL语法
    WSDL UDDI
    八一八 The Social Network的小细节
    MySQL命令行常用命令
    AspectJ风格的Aop切点表达式
    强大的Mockito测试框架
    MySQL锁定状态查看命令
    Yum本地Rpm库设置
    Sed实例大全
    为何 Emacs 和 Vim 被称为两大神器
  • 原文地址:https://www.cnblogs.com/hh54188/p/2723154.html
Copyright © 2020-2023  润新知