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

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

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支持

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

  • 服务器端渲染能力

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

为什么选择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

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

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

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

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

React1.0版本的重大功能

1. 升级项目网站

2. 升级框架文档

3. 增强动画的鲁棒性

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

谁更适合使用React?

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

三大框架对比

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

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

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

支持Angular的开发工具

新一代HTML5 / JavaScript UI控件 Wijmo,大而全面的前端开发工具包,现已全面支持Angular 2。

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

如何选择前端框架:ANGULAR VS EMBER VS REACT的更多相关文章

  1. 前端框架Angular、react、vue在github上的数据统计-2018-05

    2018年5月31日09:15:45 突然想看看几个前端框架的数量,然后就截图了如下数据: 分析: react关注.收藏.Fork都高vue一些, 但相差不大 angular比较奇葩,收藏只有二者一半 ...

  2. 三种Web前端框架比较与介绍--Vue, react, angular

    一.Angular 1.MVVM(Model)(View)(View-model): 2.模块化(Module)控制器(Contoller)依赖注入: 3.双向数据绑定:界面的操作能实时反映到数据,数 ...

  3. 常用前端框架Angular和React的一些认识

    为什么要用AngularJs? 要了解为什么使用AngularJS首先就要接受它的思想: 首先,angularJS借助了传统MVC的架构模式(model模型  view视图  controller控制 ...

  4. 主流前端框架对比:Vue.js , React, Angular.js

    个人认为Vue.js的文档最恳切.我认为结合文档和遇到问题Google答案的匹配度来讲:Vue.js > ReactJS > AngularJS > Angular 2 如何使用Vu ...

  5. 常用的前端框架Angular、React、Vue

    VUE 一.vue导读 1.1 vue的优点:结合其他框架点,轻量级,中文API,数据驱动,双向绑定,MVVM设计模式,组件化开发,单页面应用 1.2 vue环境的导入: 本地导入 <!--方法 ...

  6. React 还是 Vue: 你应该选择哪一个Web前端框架?

    学还是要学的,用的多了,也就有更多的认识了,开发中遇到选择的时候也就简单起来了. 本文作者也做了总结: 如果你喜欢用(或希望能够用)模板搭建应用,请使用Vue    如果你喜欢简单和“能用就行”的东西 ...

  7. [web前端] 去哪儿网前端架构师司徒正美:如何挑选适合的前端框架?

    原文地址: https://www.jianshu.com/p/6327d4280e3b 最近几年,前端技术迅猛发展,差不多每年都会冒出一款主流的框架. 每次新开业务线或启动新项目时,首先第一件事就是 ...

  8. 使用appframework前端框架中输入框圆角问题

    目前使用HTML5技术来开发手机跨平台app已经成为了曾经的web开发人员介入移动开发的一条捷径.与此对应也出现了很多新的技术来支撑这样的开发方式,例如国外的phonegap和国内的APPcan等.很 ...

  9. 前端框架之争丨除了Vue、Angular和React还有谁与之争锋

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文参考:https://www.sitepoint.com/most-popular-frontend-f ...

随机推荐

  1. 工程BUG记录

    前天项目中,有个 id 对象,命名成了 initA...  从该页面点击进入其他时没有问题,但是在返回到该页面后,程序崩溃了,报了野指针,后来在跳转传值的时候,发现这个异常.我猜测原因可能是 xcod ...

  2. Document-对象属性和常用的对象方法

    Document-对象属性和常用的对象方法 对象属性 document.title                           //设置文档标题等价于HTML的title标签 document ...

  3. JavaScript常用函数之Eval()使用

    eval() 功能:首先解释Javascript代码  然后执行它 用法:Eval(codeString) codeString是包含有javascript语句的字符串,在eval之后使用Javasc ...

  4. JS-随机函数

    // alert( Math.round(3.4) );// 0~1 : Math.round(Math.random());// 0~10// alert( Math.round(Math.rand ...

  5. JS-数组的方法

    var arr = [ 1,2,3 ];arr.push( 'abc' );//从后面加 arr.unshift( 0 );//从前面加 arr.pop()//从后面删除 arr.shift()//从 ...

  6. 4.总结近5周以来的github上的工作情况,以图表方式分析你小组的工作情况、存在的问题及解决的方案。(尤心心)

    4.总结近5周以来的github上的工作情况,以图表方式分析你小组的工作情况.存在的问题及解决的方案. (1)利用github本身的graphs可以清晰的看出小组成员在github上面的交互,可以直接 ...

  7. gulp 配置前端项目打包

    项目发布时,需要对项目js文件进行压缩,混淆,连接等操作以减小项目http请求,加快访问. gulpjs.com中有很多插件可以用来配置打包部署. 需要用的常用插件有: gulp-jsmin  压缩j ...

  8. Ubuntu 安装mysql和简单操作

    http://www.cnblogs.com/zhuyp1015/p/3561470.html ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get inst ...

  9. [置顶]PADS PCB功能使用技巧系列之NO.006- 如何实现OrCAD与PADS Layout同步?

    很多同仁都喜欢用OrCAD画原理图,而PCB Layout则用PADS/PowerPCB,这两者被有些人誉为“黄金组合”,但由于两者并非一套软件,因此如何实现同步亦是需要急待解决的问题... (未完待 ...

  10. OPC的理解Open Packaging Conventions

    Open Packaging Conventions (OPC) 博客地址:www.cnblogs.com/icmzn OPC是一个文件容器技术.被微软创建,用来存储XML或者非XML文件结合起来的规 ...