JavaScript Still like Backbone/Marionette over Ember

xstmjh · 2013年10月03日 · 最后由 xds2000 回复于 2013年10月29日 · 3175 次阅读

基调:不是来喷 ember 的,别喷我,很脆弱的

Ember 很多好处,不说了

只说让我觉得很别扭的:

  1. Route + Router,我更喜欢 Backbone/Marionette(以下简称 bm) 的做法,只关心入口,把所有的入口集中在一起管理,和 Rails 的概念一脉相承。Ember 这里就很罗嗦,而且很难避免,一般都要写一堆的 Routes

  2. View 基本被边缘化,和 controller 很多地方功能重合,个人觉得可有可无,事件基本上 controller 直接处理也可以,有时候我真觉得多此一举。。bm 的就比较舒服,view 和 controller 分工明确

  3. class 粒度过细

  4. Ember-data,只喜欢他的 fixutre 功能。bm 的 model 更精确

其他的想法还在酝酿,不是很成熟,求教育

不想喷你,就说几句我的看法:

  1. 等等!router 难道不是 rails 的概念之一?ember 有 router 怎么就“不一脉相承”了?
  2. 如果你觉得 view 和 controller 的功能重合,那基本上是把代码写错了地方;
  3. 如果你觉得粒度过细,那大概是因为你现在做的项目用不到那么细致,从这个角度来说选择你说的 bm 没有错
  4. you really don't understand ember-data, especially with rails -- and it's not ready for stable yet.

最后,ember 不是用来做 b/m 的替代品的,它们面向的是不同等级(通常来说是复杂度)的应用,所以如果你的应用不需要这么重,那么你觉得别扭也是正常的。所以我也不是喷你,只是补充几点。

项目从 backbone 过渡到 bm,正在看 Marionette 的路过。。

看看大猫的最新讲座: MVC is not enough

楼主说的喜好问题,我觉得没有阐述的非常清楚,所以如何有机会,还是把你列出的内容在展开讲讲。这样讨论才有意思。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号