EmberJS 为什么我偏爱 Ember.js 胜过 Angular 和 React.js【转】

简介前几天看到了这篇文章:Why I prefer Ember.js over Angular & React.js,觉得对于国内期望了解 Ember.js 的开发者来说是一个不错的介绍。于是和该文的作者 Paul Shan 联系取得翻译的授权,翻译了过来。译文如下: 从我开始写 JavaScript 已经有5年了。无论是开发项目,指导别人,还是发布文章,JavaScript 都给了我极大的满足感。感谢 JavaScript! 在过去5年里我使用过很多 Ja

前几天看到了这篇文章:Why I prefer Ember.js over Angular & React.js,觉得对于国内期望了解 Ember.js 的开发者来说是一个不错的介绍。于是和该文的作者 Paul Shan 联系取得翻译的授权,翻译了过来。译文如下:

从我开始写 JavaScript 已经有5年了。无论是开发项目,指导别人,还是发布文章,JavaScript 都给了我极大的满足感。感谢 JavaScript!

在过去5年里我使用过很多 JavaScript 框架,不管做后端还是前端。但 Ember 从2015年中期就从我的开发世界中消失了。幸运的是1个月前机缘凑巧我又参加了一个用 Ember 做的前端项目。起初我并不太在意这点,只把它当作不过又一个日常开发而已。但随着项目的深入我开始思考自己关于这三个前端框架的体验,并在今天把它记录下来。

声明

  • 该文并非是要抨击 Angular 或 React。
  • 该文并非要很深入探讨技术层面的部分,而是作为一个开发人员对其真实使用体验的吐露。
  • 标题中我使用了“偏爱”而非“推荐”的字眼,因为“推荐”往往要和具体项目具体场景相关,而“偏爱”则是一种更普适性的描述。

Ember 令人满意之所在

原生感受

说实话,最近几年来我对 JavaScript 越来越不满。我不喜欢有人试图用工程的模式来对待 JavaScript。我喜爱 JavaScript 就仅仅是 JavaScript 而已。这也是我为什么不喜欢 TypeScript,以及 Angular 2。我看不到任何用处来多学习另一门语言,只为了试图引入一些丑陋的类(我知道是可选的)和语法。React 至少在这一点上做的比 Angular 2 好一些,但你依旧要面对 jsx 的问题。

相反,Ember 使用了纯 JavaScript。你只用写 JavaScript。Ember 提供了很多 api,却没有额外的语法。这让我作为 JavaScript 开发者而言感觉很棒。

约定大于配置

相信我,尽可能地减少配置相关代码对你的项目将有巨大的好处。首先,代码会变得少而清爽。其次,约定将是通用的,任何新加入的开发者都能了解发生了什么。对于那些之前从没有使用过 Ember 的人来说,只要你遵循了约定来命名文件和变量,Ember 就能自己处理好剩下的事情。

所见过的最好文档

Ember guides 和 Ember API 的文档可能是我开发生涯中见过的最好技术文档。即使是一个初学者都能很容易理解并上手。Ember 的官方论坛对于解决疑问也很有帮助。

最好的构建体验

Ember-CLI 是 Ember 的一大杀器。即使 Angular 都试图借鉴 Ember 的这一工具来开发自己的 CLI。使用 ember-cli 你可以快速构建一个预定义好目录文件架构的项目,而这样的架构是经过社区的讨论和实践所验证过的。当项目开始构建时,无论团队是否对此有经验,都完全不用担心有没有遵循最佳实践的问题。对于 React 而言这里就可能存在风险,因为它只是一个库并非是一个框架

强制性的最佳实践

即使你的团队中有很棒的开发者,有时候迫于上线的压力他们也会写出坏的代码。而 Ember 会至少在某些层面上强制性地让你采取最佳实践的方式