与竞争对手相比,我很自然地被 Ember 出色的 API/设计/语法所吸引,但看到性能明显更差感到非常难过。(例如,参见现在众所周知的http://jsfiddle.net/samdelagarza/ntMdB/167/。)我的眼睛告诉我至少比 Chrome 中的 Backbone 慢 4 倍。
EmberJS 0.9.6 版显然有许多性能修复,特别是在绑定和渲染方面。然而,在使用此版本的 Ember 时,上述基准测试仍然表现不佳。
我认为上述基准证明了一个框架的绑定成本。我来自 Flex,绑定执行得足够好,您不必不断地考虑您想要使用的每个渲染器的这 5 个绑定(乘以可能 20 个渲染器)是否不会造成太大的开销。易用性很好,但前提是保持足够好的性能。(更是如此,因为 HTML5 也经常针对移动设备)。
就目前而言,我倾向于认为 Ember 的美与它的一些竞争对手相比不值得性能损失,因为我们在这里谈论的是具有许多绑定的大型应用程序,否则你一开始就不需要这样的框架. 我可以忍受 Ember 的表现稍差一些。毕竟它带来了更多的东西。
所以我的问题相当笼统和开放:
- 基准测试的 Ember 部分是否写得足够好,以显示真正的问题?
- 0.9.6 的性能更新可能非常低调吗?
- 主要贡献者是否确定了表现不佳的领域?