三大 JS 框架的较量:Angular.js 与 React.js 与 Ember.js 已翻译 100%

oschina 投递于 2016/11/04 17:16 (共 14 段, 翻译完成于 11-07)
阅读 10356
收藏 73
4
加载中

通过选择合适的JavaScript框架来更好适配你的项目需求,这有利于提高你的开发能力与web apps的竞争力。

然后,你可以为基于JavaScript的应用或者网站想个极佳的主意。选择合适框架应该对你项目的成功有显著效果。它可以推到你及时完成项目,并且有助于你将来维护代码。JavaScript框架,比如Angular.js,Ember.js,或者React.js,能提供很好的代码框架,并且保持代码的组织性,从而使得你的app更具灵活性与可扩展性,开发过程更加容易。

xufuji456
翻译于 2016/11/04 21:23
1

JavaScript场景的波动

Web开发变化速度非常快。几乎每个月都有一个JavaScript框架诞生,并且已存在的框架也在频繁更新。这些框架和开源代码一样,世界各大社区可以对它们进行完善。到头来,比较每个框架的优点与不同点,成了一件不容易的事情。

Angular Vs React Vs Ember.Deep Dive

许多开发者都对JavaScript框架有着困惑,因为框架外表与功能差异很大。

下面,让我们来比较三大广泛应用于web的流行JavaScript框架的优点:AngularJs、ReactJs和EmberJs。

xufuji456
翻译于 2016/11/04 21:56
2

框架概览

框架 AngularJS  ReactJS EmberJS
概述 主要的 JavaScript MVW 框架 主要用于构建用户界面,但不仅限于此的 JavaScript 库 一个用于创建复杂 Web 应用程序的框架
创立 2009 由 Miško Hevery 创立 2013 年由 Jordan Walke 创立,开源 2007 年由 Yehuda Katz 创立,名为 SproutCore,2011 年被 Facebook 收购,更名为 EmberJS
主页 https://angularjs.org/https://reactjs.net/http://emberjs.com/
Github https://github.com/angular/angular.jshttps://github.com/facebook/reacthttps://github.com/emberjs/ember.js
错误报告 https://github.com/angular/angular.js/issueshttps://github.com/facebook/react/issues
授权 MIT MIT BSD-3-Clause
使用该技术的知名网站 Youtube, Vevo, Freelancer, Istockphoto, Weather, Sky Store Facebook, Instagram, Khan Academy, New York Times, Airbnb, Flipkart, Sony Lifelog Apple Music, Yahoo!, LinkedIn, TinderBox, Netflix, Groupon
理想用途 建立调试活跃和互动的 Web 应用程序 数据变化频繁的大型 Web 应用程序 动态 SPA(Scratch Pad Area,暂存区)
边城
翻译于 2016/11/06 19:10
1

AngularJS.框架空间的王者

Angular.js是一个应用模型-视图-控制器(MVC)结构(Angular 1)的开源web应用框架,模型-视图-视图模型(MVVM)结构(Angular 2),版权归谷歌所有。它是以上最老的三大框架命名。因此,他拥有最庞大的社区。Angular.js通过径向扩展HTML功能,解决了开发SPA的问题(单页应用)。框架的突出特点是快速启动与运行你的app。

xufuji456
翻译于 2016/11/04 23:23
2

AngularJs 的优缺点

优点:

  • 自定义文档对象模型(DOM)元素的创建

  • 明确的UI设计与替换。

  • 当在一个HTML文档创建输入属性时,会为每个渲染属性创建一个独立的数据绑定。在发生变化需要重渲染之前,Angula先检测r页面的每一个明确属性。

  • 依赖注解。

  • 简单路径。

  • 代码容易测试。

  • 框架支持HTML语法扩展,直接创建可复用的组件。

  • 稳健的模板生成方案。在HTML属性使用绑定表达式来驱动模板功能。Angular的模板引擎拥有一个深度理解的DOM,它的优越结构模板减少了创建生成页面所需的代码量。

  • 数据模型对于小规模数据的使用有所限制,其目的为了使得代码简单容易测试。

  • 快速渲染静态列表。

  • 良好的代码复用(Angular库)。

xufuji456
翻译于 2016/11/04 23:40
1

痛点:

  • API指令的复杂度高。

  • 对于有元素相互调用的页面,Angular速度变得很慢。

  • 初始设计变得慢起来。

  • 由于大量DOM元素,影响性能。

  • 复杂的第三方集成。

  • 曲折的学习路线。

  • 域容易使用,但是难以调试。

  • 路径具有局限性。

提示:Angular 2 的功能与上述有所不同。Angular 2 没有沿用Angular 1 的设计,它彻底重写了。该框架两个版本有翻天覆地的变化,在开发商之间引起很大的争议。


xufuji456
翻译于 2016/11/05 00:47
1

ReactJS. 领域中的新生代

ReactJS是一个开源库,利用其惊人的渲染性能来构建持久的用户接口,由Facebook推出与发布。React在模型视图控制器结构中专注“V”层。React首次发布之后,它迅速达到顶峰。它的出现是为了解决其他JavaScript框架的共同问题——渲染大数据集合的效率。

xufuji456
翻译于 2016/11/05 00:57
1

ReactJs 的优缺点

优点:

  • 接口设计与学习API容易。

  • 与其他JavaScript框架相比,具有显著性能。

  • 更新速度快。React创建一个新的虚拟DOM,利用最近数据与比较上个版本的差异提供完善修复机制,创建一个最小的更新列表构成真正的DOM使其同步,而不是每次发生变化都进行重复渲染。

  • 服务端渲染允许创建同构/通用的web apps。

  • 容易导入组件,虽然有一些依赖。

  • 更好的代码复用。

  • 方便JavaScript的调试。

  • 在提高复杂组件性能方面,Angular与React难分高低。

  • 基于层次的全系组件。

  • JSX,一个JavaScript扩展语法,允许引用HTML与使用HTML标签语法来渲染子组件。

  • React Native 库。



xufuji456
翻译于 2016/11/04 22:09
0

痛点:

  • 它不是完整框架,它是一个库。

  • 非常传统的视图层。

  • Flux结构是开发者使用过的一个与众不同的范例。

  • 大量开发者不喜欢JSX。

  • 曲折学习路线。

  • 集成React到传统MVC框架,犹如铁轨一样需要一些配置。


xufuji456
翻译于 2016/11/05 01:02
0

EmberJS. 挑起重担

EmberJS 是一个开源的JavaScript框架,用以创建单页客户端web应用,使用模型-视图-控制器(MVC)模式。该框架提供通用数据绑定,基于网址驱动的方法用于构建不同应用,重点放在可扩展性上。

在2007年,Ember起源于SproutCore。在2011年,它被Facebook收购,重命名为Ember。它从本地框架例如苹果的Cocoa使用轻量灵敏性中,结合了成熟概念。

xufuji456
翻译于 2016/11/05 01:13
0
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(16)

肖木Alex
肖木Alex
路过留名
今天来找bug
今天来找bug
学习angular2中
no_heart
no_heart

引用来自“大漠穷秋”的评论

我给你顶!
漠漠不发表些意见啊
ubuntuvim
ubuntuvim
用过ember!生态非常完整
zoujiaqing
zoujiaqing

引用来自“方施杰”的评论

为什么不把vuejs 在一起比较啊?
不是一个级别的OK?
蛋看江湖
蛋看江湖
我就想问下能不能拖拽式开发,折腾这破框架能提高生产率吗
开源中国首席生物学家
开源中国首席生物学家
真的需要 spring。js 来统一一下世界
bisu3306
bisu3306
说实话,typescript的语法真心不错,我支持angular2
CasparLi
CasparLi
直接Angular2
ddatsh
ddatsh

引用来自“rockkratos”的评论

这几个框架我都用过
1. Ember 2.x已经没有script标签在页面里了,但是dom污染还是有的,Ember在开发上的细节比较贴心,性能差点
2. React结合Flux确实学习需要些时间,性能不错,但是vue2.x跟它有一拼,整合第三方js库方面,真的很伤
3. Angular1.x 学习成本不高,整合第三方框架也还算方便,但是想写好directive还是需要点时间的
4. Angular2.x 重新设计了,组件化,没有使用React那种虚拟dom,但是性能却跟React差不多,官方推荐使用
TypeScript,ES6也可以,但是文档大多是ts的
5. Vue2.x 刚刚做了点东西,整体感觉还不错,结合了Angular和React的一些优点,比React入门低一些,也有像
Element UI这种UI库了
总结的好像很好
返回顶部
顶部