【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/

posted @   hh54188  阅读(383)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示