如何选择前端框架:ANGULAR VS EMBER VS REACT

最近一段时间是令前端工程师们很是兴奋的时期,由于三大Web框架陆续发布新版本,让咱们见识到了更强大的Web框架。Ember2.0在2个月以前已经发布,从1.0升级到2.0很是简单。几周以前React发布了0.14版本。还有不少流行的前端框架,像Backbone 、Knockout及Aurelia。若是你想开发一个Web app,建议采用Angular,Ember或React三种框架中的一个。这三个框架能够说是安全级别最高,技术很是成熟的框架,并且有不少技术社区支持。因此你又开始纠结了,开发Web app,到底选择哪一个框架,哪一个更好用更安全更强大呢?本文就详细介绍三大框架新版的优缺点并进行对比,但愿可以对大家有用。前端

AngularJS 2.0 Strengths and Weaknesses

Angular 2.0(与1.0对比,发生了翻天覆地的变化)react

Angular是目前最流行的框架之一,Angualr1.0 首次发布时让业界不少人士为之震撼,它使MVC框架更上一层楼。Angular的发布引发了众多Web开发人员的共鸣。然而Angular2.0倒是一片唏嘘声,是超越1.x的完全革新,也能够说是破坏性的升级。Angualr2.0版本从新定义了框架,自身发生了很是巨大的变化,能够说是很戏剧性的变化,Angualr2.0不支持向下兼容,使低版本升级到2.0版本成为一条绝路。然而软件行业老是充满了奇迹和天才,Angular 团队为从Angular1.X 到2.0的升级指出了一条明路,使升级变成渐进加强的过程。我想正式由于这个方法拯救了Angular。安全

到底Angular2.0有什么使人兴奋的功能?前端框架

Angular2.0砍掉了一些没必要要的功能,提高了Angular的性能,如$scope从Angular 2.0中移除,取而代之的是ES6类。除了框架自身变得更简洁,还有一些其余注意的特性:服务器

  • 性能提高前端工程师

性能提高能够说是众望所归,若是你对Angular 很是熟悉,你已经具备分解功能的能力,建立App也不在话下,性能问题老是有办法解决的。架构

  • 原生App支持app

使用Angular开发原生应用是2.0版本的最大改进,Agular团队与React联合,在Angular 2.0 中底层使用React Native渲染原生App,可实现新一代的混合App,执行过程与本地App相同,但可在逻辑层可在多平台中共享。框架

  • 服务器端渲染能力ide

Angular2.0终于实现了服务器端渲染,服务器端渲染能力有所提高,减小了初始页面加载时间,可经过动态页提高SEO。页面渲染速度提高将大大改进Web App的体验。

Angular 2.0 JavaScript Framework Strengths and Weaknesses | Smashing Boxes Blog

为何选择Angular?

Augular 已然成为Web应用开发世界里最受欢迎的开源JavaScript框架。开发新项目选择Angular无疑是一种安全的选择,Angular2.0 与1.0有很大的不一样。事实上,Augular2.0 演化过程与Ember演化相似(Ember最先被称为SproutCore2.0)。Angular支持使用TypeScript语言(由微软提供的,为JavaScript提供类型检测等高级功能)。在实际开发中,不少开发人员还在使用TypeScript。Angular不少方面的改进都指望可以使Angular成为众多企业开发首选的框架,使用2.0目前来看彷佛有点冒险,但我相信Angular2.0时代即将到来。

Ember 2.0

Ember.js号称是一个“雄心勃勃”的JavaScript MVC框架、现代JavaScript MVC框架表明,是构造如单页面应用等现代Web应用程序的新型Web端开发框架。有不少App的建立都在使用Ember,如Apple’s properties,Discourse,Ghost。Ember是由两个很是传奇的工程师开发建立的,并非由大企业研发而成,尽管如此,Ember仍有众多强大的技术爱好者的支持。

Ember2.0 特色

Ember 2.0主要改进——移除了以前不建议开发的功能,旨在成为一个瘦身框架。在Ember 1.13上运行的程序,能够无缝切换到Ember 2.0上。

  • Ember 2.0进一步采用ES2015功能模块,类,和decorators。

  • 修改了项目分布结构,使用“pod”分类代替功能分类(控制器,models,组件等)。

  • 控制器被移除,支持路由控件。

  • 高级服务器端渲染器减小了页面加载时间,优化搜索引擎。

 

Ember 2.0 JavaScript Framework Strengths and Weaknesses | Smashing Boxes Blog

 

 

谁更适合使用Ember

实现Web app ,Ember是最佳选择。如上所述,不少App都内置使用了Ember框架。Ember也将被Ruby协会所接纳。若是你选择Ruby,Ember是不二之选。它有大量的资源供你使用,如文档,技术博客等。

Ember 对购买工具包含框架的人来讲是很是好的选择,咱们常常会浪费时间去寻找,研究,评估一些开发框架。EMber为您提供的选择很是多,并且都很是有价值。任何事物都有利有弊,可是任何事情都能良好运行那么就选择Ember吧。

 

React JS Strengths and Weaknesses | Smashing Boxes Blog

React1.0 是三个框架中最轻量级的框架,React在渲染UI控件方面作的很是好,常常与其余框架结对使用。然而更常见的状况就是与Flux 体系架构联合使用。

Flux与MVC 彻底不一样的体系架构,与React生态系统相似。FaceBook建立React的目的是为了保证多个页面的外观一致性。使用REACt确实达到了这种效果,它提供了使人难以置信的性能和服务器端渲染效果。两种功能都完美实现。有个现象颇有趣,Angular和Emver都在争相发布新版本。而React则在它擅长的领域内继续创新。

React1.0版本的重大功能

1. 升级项目网站

2. 升级框架文档

3. 加强动画的鲁棒性

React改进的核心目的为了提高开发人员的体验。React的一大亮点就是使用React提供的元素建立动画会很是简单。

React 1.0 JavaScript Framework Strengths and Weaknesses | Smashing Boxes Blog

 

谁更适合使用React?

开发新项目或是改进存在的项目,React都是很好的选择。使用React框架,可让App UI 建立以及从新建立UI 变得很简单。若是你想逐渐改善存在的项目,选择React是很是合适的。React项目一般用ES2015编写,若是您的价值正在边缘化或只须要应用框架中一些简单的库,React就是最佳选择。

 

三大框架对比

首先说明的是三大框架能够覆盖全部需求。这些框架的功能都很独特。许多好的设计和实现思想都已经在三大框架中体现的淋漓尽致了。

Ember可视为是启动最快的框架。可是Ember 的学习成本较高。就最终App而言,Angular JS 开发的app只须要写不多的代码。

 

Javascript framework comparison: Angular vs Ember vs. React

从上图种能够看出,为何三大框架如此流行,优点都很明显。三个框架没有绝对的好,只有相对而言,哪一个更知足项目需求,知足App开发所需的功能。三大框架在之后发展中会更快且更好的支持服务器端渲染。Angular和React 将支持IOS和Android的原生UI控件。使用此三种框架将来可以作不少的事情。

原文连接: http://smashingboxes.com/ideas/choosing-a-front-end-framework-angular-ember-react