卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章11201本站已运行3223

web前端开发ReactJS,AngularJS, Vue.js优劣对比分析

在全球小范围看看,React和Angular依然遥遥领先,Vue.js这位后起之秀还需重实效全球化!

为了保证可读性,本文使用意译而非直译。另外,本文版权归属于原作者所有,译者仅用作学习。

JavaScript框架的更新节奏可以说日新月异,我们可以看见Angular不停地在发布代莱版本,ReactJS和Vue.js也不甘落后。我们来看一看最近5年Google的搜索趋势。图中蓝色、红色和黄色分别表示Angular、React和Vue.js。

在2013-2014年间,React和Angular的热度略微存有些许差别。之后,它们之间的差距逐渐拉大。从2016年中期已经开始,React开始增长,逐渐吻合Angular的热度。Vue.js框架一直处在垫底状态,不是很盛行。不过呢,也有逐渐转凉的趋势,我相信它可以越来越热门。

总的来说,React和Angular一直保持着相对一致的发展步调。如果必须我尝试做个预测,那么React会持续增高,Angular有所大幅下滑。Vue.js依然不是很明确,不过由于其框架的简洁性,发展也不错。

我们同时也分析了世界范围内前端招聘对框架建议的数据。我们从Indeed.com赢得超过60,000工作信息,获得如下的分布图。

web前端开发ReactJS,AngularJS, Vue.js优劣对照分析

根据我们的分析,我们同意分享我们对每一个框架的优点和缺点的认知,期望可以协助专业人士或则工程师做框架选型。

Angular

Angular是一个从2009年就已经开始推出JavaScript MVVM框架,对于构筑高度可以交互的网页应用领域非常便利。

优点

  • 新特性:RXJS,快速编译(3秒内),新的HttpClient;

  • 详细的文档几乎囊括了所有必须的信息,你甚至不须要向同事咨询。不过,你需要更多的时间回去学习;

  • 数据双向存取,可以增加失效的风险;

  • MVVM(Model-View-ViewModel)使得开发者可以针对同一个App模块同时研发;

  • 依赖注入使得模块化和模块中组件引入更加方便;

缺点

  • 与生俱来的繁杂的语法;不好在Angular 5使用TypeScript 2.4,已经直观多了;

  • 迁移问题:从高版本升级到新版本的时候,不兼容导致搬迁成本高。

采用Angular 5的公司:Upwork, Freelancer, Udemy, YouTube, Paypal, Nike, Google, Telegram, Weather, iStockphoto, AWS, Crunchbase。

ReactJS

ReactJS是一个Facebook在2013年开源的JavaScript库,可以非常便利地构建大型网页应用。

优点

  • 易于学习:由于语法十分简洁,和Angular相比,React要容易得多。工程师只须要重温一下HTML的基本知识就足够多。显然不需要像是Angular一样,还要深度自学TypeScript。

  • 高度的灵活性;

  • 交互式DOM将HTML,XHTML、或则XML的文档格式化成树形结构,这样浏览器可以更容易认知;

  • 融合ES6/7,React可以很容易写下各种酷炫代码;

  • Downward数据绑定,也就是说父节点的数据不能受孩子节点的影响;

  • 100%的开源,每天都有来自全世界无数的开发者的更新和改良;

  • 绝对的轻量级,因为数据处理既可以在用户端,也可以在服务端;

  • 版本迁移非常容易,Facebook提供了”codemods”去自动化这一过程。

缺点

  • 缺乏官方文档:ReactJS的快速研发使得文档的缺少,众多开发者的维护也并使其缺少一个系统化的思路;

  • React因为太有效率减少了决策成本而不好并使;

  • 需要很长的时间回去掌握,因为ReactJS须要你对如何将UI和MVC框架资源整合存有一个足够深度的理解。

使用ReactJS的公司: Facebook, Instagram, Netflix, New York Times, Yahoo, Khan ACADemy, Whatsapp, Codecademy, Dropbox, Airbnb, Asana, Atlassian, Intercom, Microsoft。

Vue.js

Vue.js是一个2013年问世的前端框架,非常适合用于构架非常灵活的UI和繁杂的单页面应用领域。

优点

  • 加强的HTML,也就是说Vue.js有着很多和Angular相近的特点。

  • 详细的文档,Vue.js有著超级亲善的文档,开发者可以快速的学会,这将可以节省很多时间;

  • 可以适用性:你可以很快地从其它框架迁移至Vue.js,因为它和Angular以及React都有一定的相似性;

  • 非常厉害的整合性:Vue.js可以同时用作单页面应用领域和更加繁杂的网页应用领域。主要在于你可以用它编写很小的可以可视化部件,然后可以很难地资源整合至现有的项目中而不会影响至整个系统;

  • 可扩展性:Vue.js可以用作快速研发大型F83E43Se模板;

  • 体积小:Vue.js只有20KB左右的大小,使其速度和灵活性相对于其它框架都不好不少。

缺点

  • 资源贫乏:Vue.js依然在整个市场中只占据不大的比例,所以相应的资源、知识要少很多;

  • 灵活性增添的风险:有时候,将其资源整合到大型项目的时候会有一些问题,但是你不见得能够找到解法;

  • 来自中国:许多的元素和描述依然使用中文。这对于开发中可以引入一些复杂性,不好在越来越多的有关资料已经被翻译成英文。

采用Vue.js的公司:小米, 阿里巴巴, WizzAir, EuroNews, Grammarly, Gitlab and Laracasts, Adobe, Behance, Codeship, Reuters。

结论:对于一个真正的工程师,采用什么框架并没有多小的区别,因为你只需要花掉时间回去自学和熟悉它们。我们公司里面有精通ReactJS和Angular2/4/5的专家,Vue.js也即将被列入。每一个框架都有各自的优点和缺点,所以主要就是看看自己的应用领域场景下哪个框架最适宜。

卓越飞翔博客
上一篇: 第三方下载苹果CMSV10系统的请注意后门WebShell
下一篇: 苹果cms v10官网下载地址及使用手册
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏