点击上方“CSDN”,选择“置顶公众号”

关键时刻,第一时间送达!

要论 2017 年最主流的三个 Web 前端框架,应莫过于 Angular、Vue 和 React 了。然而在实际应用中,这三个框架却不尽相同,对于规模不大的前端项目来说,Vue 因其极易上手会被列出首选之位,Angular 在快速开发大型 Web 项目上很受推崇,但仍存诸多缺陷,React 正为 JavaScript  应用开发者提供新的开发方式。因此,面对各有千秋的开发框架,作为一名开发者该如何选择?哪种框架更具有前景?

接下来,本文作者通过近日最新发布的 JavaScript 调查报告,分享其 15 年的 Web 开发经验,深度剖析前端框架的流行趋势及未来发展,希望给诸多前端开发者指明一些方向。

以下为译文:

其实在一年前,我的团队在重新项目时,采用了 Vue.js 而非 React,且当时的我还做了一番预测:

按照目前的发展速度,我预测 Vue 将在 16-24 个月内成为主要的 JS 框架,至少对于后端开发人员和小团队的前端人员来说是这样。当然,在 2017 年,如果 React 依然按照目前的速度不断提升自己的话,那么它将仍然会在 2017 年占据前端框架的主导地位。

——2016 年 12 月 10 日

如今,从最近的一份来自 stateofjs.com 网站、且超过 23,000 名开发者参与的关于 JavaScript 的调查报告来看,事实的确如此。

Stateofjs 2017 前端框架调查结果

与日常一样,使用 JavaScript 编程语言的核心区别是由前端框架引起的。从调查报告来看,相比 Angular 和 Vue, React 是 2017 年的主要 JavaScript 框架,尤其是 React Native 以前所未有的速度提升自己。同时因为 Angular 的流行度下滑,Vue 也受到越来越多的欢迎。

相较于 Stateofjs 发布的 2016 年前端框架调查结果:

基于以上,通过将 2017 与 2016 年的统计结果进行对比可以发现,在过去一年里 Vue.js 是大家最想学习的框架,因此我个人预测明年将是 Vue.js 成功的一年,当然 React 增长很稳定,而 Angular 将无法跟上这两个对手的脚步。2016 年时,Vue.js 被称为“另一个 JS 框架”,当时它是一匹十足的黑马,而 React 占据主导地位,Angular 则是开发者的第二选择。

但是,Vue.js 只会在 Web 前端中占据主导地位,而不会统治所有的前端领域。React 则可以在所有的前端领域中盛行。这是为什么呢?下面,我们将揭开谜底。

React 统治前端领域的关键因素

答案就在 Stateofjs.com 发布的 2017 年移动和桌面应用前端框架的调查结果之中:

Synergy 是 React 能够统治所有前端领域的关键。

React Native

Vue.js 未能提供替代 React Native 的可行性方案(Weex 和 Quasar 太年轻,存在碎片化并且很脆弱),伴随着 React Native 和 React.js 的爆发式增长,如果你掌握了 Web 前端的 React 和 Redux ,你将获得极大优势:只要你想,便可在几周内熟练地将 React Native 应用到移动端。在这一点上,React 充分展示了它相比 Cordova 和其他 Hybrid 技术的优势。

如今最火热的前端需求在于移动端,而不再是 Web 。React Native 非常成功,同时它也会带动 React.js 的发展。

我们团队计划在 2018 年第一季度发布自己 iOS 和 Android App 的一个大版本,将公司的网站从零开始改写(研发代号 Q3,采用 Vue.js 和 Yii2),而新的 App 基于 React Native 开发。

其实,我们在一两年前就考虑使用 React Native 来改写我们的 App ,但当时我们团队的 Swift 开发者表示拒绝,如今看来这个决定是正确的,因为有时候我们需要等待技术成熟,这非常重要。如今我们结束了用 Swift 开发 iOS 应用 ,用 Java 开发 Android 程序的局面,避免了不同操作系统 App 使用不同开发语言的痛苦。

现在我们的 Swift 开发人员正在使用 React Native 编写 JS 代码,并承认 React 确实好用,他认为现在是转到新的技术栈的好时机,因为在很多情况下 React Native 的优点都大于缺点。

我们使用 Vue.js 编写 Web 的前端人员几周就掌握了 React Native ,但是我认为这个转变是值得的,如果我们 Web 也使用 React.js,那么我们的技术栈将会变得更简单。我并不后悔使用 Vue.js 开发 Web,具体原因在我以前的一篇文章中解释过(http://pixeljets.com/blog/why-we-chose-vuejs-over-react/),实际上我对 Vue.js 在 Web 领域的预测已经成为现实,但我仍然期望在 2018 年里中小型团队继续选择用 React 来进行 Web 和移动端的开发,因为 synergy 的存在我相信这样的选择是明智的。

使用 Java 和 Swift / Objective C 分别开发不同平台的 App 虽然没错,但是从商业的角度来看,它的代价是很高的,此外,与 React Native Codepush 相比,想要通过 App Store 的审核也不是那么容易的。

GraphQL

GraphQL 是 Facebook 的另一个重量级产品,它让 React 生态系统如虎添翼。

虽然它当前还不成熟,比较复杂 并且有缺点,但是看起来 GraphQL 在未来将有很大可能替代 REST。

GraphQL 标志着前端领域大多数的创新都发生在 React 圈,然后这些创新再在其他框架中被采用和改进。

Angular 的未来预测

Stackoverflow 展示了一个有关前端开发人员问题的有趣图表:

Angular 在这张图中看起来很好,但我不并认为这预示着 Angular 作为一个框架能够取得长期成功。在我看来,对于那些维护传统的 Angular 1 代码的开发者来说,从 Angular 1 迁移到 Angular2 + 是一个明智的选择,但是当他试图迁移并且看到 Angular 的新老版本之间的巨大区别时,这会产生挫败感,并且这个事实也解释了 Stackoverflow  上有大量问题的原因。

Vue.js 的缺陷

Vue.js 目前即便还无法支持移动应用,但在 2017 年的其中一段时间,它通过获得开发者的支持而赢得了与 React 的竞争。

Wordpress 正在考虑用 React 来构建其前端布局,并且很可能将 Vue.js 加入 Wordpress 生态系统,就像 Laravel 一样。不过 Facebook 很快就调整了 React 许可证,并将这个想法扼杀了。

写在最后

通过三大框架的对比,我们更倾向于 React,在此也推荐其他的团队根据自身的情况选择 Vue.js 或 React。基于此,开发者也在 Hacker News (https://news.ycombinator.com/item?id=15999688)上发表了自己的看法:

@antoriv:

在这次的调查报告中,我最感兴趣的是百分比,即(以前使用过、将再次使用)/(以前使用过、再次使用+之前使用过、不再使用)。

2016年:

  • React - 91%的满意度

  • Vue - 91%的满意度

  • Angular 2 - 65%的满意度

  • No framework - 65%的满意度

  • Ember - 50%的满意度

  • Angular - 40%的满意度

  • Backbone - 31%的满意度

2017年:

  • React - 93%的满意度

  • Vue - 91%的满意度

  • Angular 2 - 66%的满意度

  • No framework - 65%的满意度

  • Aurelia - 56% 的满意度

  • Polymer - 53% 的满意度

  • Ember - 41% 的满意度

  • Angular - 33% 的满意度

  • Backbone - 23% 的满意度

其中,特别有趣的是,许多框架的满意度比“没有框架”的高。当然这主要归因于很多没有使用框架的开发者。我就曾遇到过一些认为前端框架是无稽之谈的开发者(通常是后端开发人员),他们更喜欢只写一堆 jQuery。另外,如果您在 Wordpress 网站上工作,那么框架往往是没有必要的。

个人而言,我已经习惯在这些框架(Backbone,Angular 1,Ember和 React)中编写代码,我更喜欢React。

@philliphaydon:

对于 Angular 2,我想我永远不会再使用。 因为它带来的问题远远多于解决的问题。 它需要丰富的知识经验来构建大型应用程序,否则总是会遇到性能问题。

原文:Vue.js vs React in 2017: state of art

链接:http://pixeljets.com/blog/vue-js-vs-react-what-to-expect-in-2018/

作者:Anton Sidashin

译者:安翔

责编:苏宓

————— 推荐阅读 —————


JavaScript 年度调查报告:React、Vue 和 Angular 三分天下,谁将在 2018 年独占鳌头?相关推荐

  1. JavaScript 开发者年度调查报告(2016-01)

    JavaScript 开发者年度调查报告 There were over 5000 responses, 5350 to be exact, and I can't wait to share the ...

  2. 【译】JavaScript 开发者年度调查报告

    截至目前有超过了 5000 人参与了(该次调查),准确的说是 5350 人.我迫不及待的想要和大家分享一下这次调查的细节.在分享之前我想要感谢参与调查的每一个人.这是 JavaScript 社区一个伟 ...

  3. 2019 年 JavaScript 现状调查报告火热出炉

    公众号关注 "GitHubDaily" 设为 "星标",带你了解圈内新鲜事! StateOfJS 发布了 2019 年的 JavaScript 现状调查报告.今 ...

  4. 2018 年 JavaScript 生态圈调查报告出炉!

    近日,Stateofjs 发布了 2018 年 JavaScript 生态圈调查报告,今年,他们对超过 20000 名 JavaScript 开发人员进行了问卷调查,目的是帮助 JS 开发者了解 JS ...

  5. 最新 JavaScript 现状调查报告出炉

    点击下方"小生方勤",选择"设为星标" 第一时间关注技术干货! 今天突然看到了最新 JavaScript 的现状调查报告,看到了几个比较有意思的数据,在这里分享 ...

  6. 2017 JavaScript生态圈调查报告

    你知道 JavaScript 的现状吗?你知道 JavaScript 中哪些库最受欢迎吗?你知道使用哪些库的开发者工资最高吗?(国外的工资看了引人严重不适,已经去掉了) 最近 JS 开发团队对前端到后 ...

  7. PHP实现调查报告的代码,2015 年 JavaScript 开发者调查报告:PHP是最好的编程语言!...

    年底将至,JavaScript 开发者调查也已经结束,此次调查总共有 5000 份回复,我真的迫不及待要分享这次调查的细节,感谢所有的参与者,这是 JavaScript 社区伟大的时刻. 1.你写什么 ...

  8. php方面的调查报告,2015年JavaScript开发者调查报告:PHP是最好的编程语言!

    JavaScript 开发者调查已经结束,此次调查总共有 5000 份回复,我真的迫不及待要分享这次调查的细节,感谢所有的参与者,这是 JavaScript 社区伟大的时刻. 1.你写什么类型的 Ja ...

  9. web前端行业调研报告_2015 年 JavaScript 开发者调查报告

    年底将至,JavaScript 开发者调查也已经结束,此次调查总共有 5000 份回复,我真的迫不及待要分享这次调查的细节,感谢所有的参与者,这是 JavaScript 社区伟大的时刻. 你写什么类型 ...

最新文章

  1. python游戏创新大赛
  2. bLock 回调 就是这么简单!
  3. android内存优化方法,Android开发内存优化注意事项和方法
  4. 配置Tomcat监听80端口配置Tomcat虚拟主机Tomcat日志
  5. IE无法安装Activex控件
  6. 腾讯云CentOS 7 上安装Nginx
  7. 【渝粤题库】广东开放大学 商务交际听说 形成性考核
  8. 《小强与小明》——正在疯传的伟大的故事
  9. 在freemarker中使用jsp标签 Using FreeMarker with servlets
  10. 计算机打字比赛海报图,打字比赛宣传海报图片
  11. Common Lisp 超规范(译文):3. 编译和求值
  12. 新手建网站怎样在运营方面渐入佳境
  13. PS 图像调整算法——反相
  14. 电脑都面的没电了,我是如何通过腾讯云恐怖的一面面试的?
  15. SQL Developer 输入sql快速显示表快捷键
  16. 智能插座_如何重置您的ConnectSense智能插座
  17. L9110 - 电机控制
  18. Caliburn.Micro使用事件聚合器
  19. QQ旋风踏上“迷你快车”山寨路
  20. 【POJ No. 3258】 跳房子游戏 River Hopscotch

热门文章

  1. 基于JWT(Json Web Token)的授权方式
  2. Rails核心成员纷纷离职,“推手”竟是其创始人?
  3. 为什么学计算机的学生应该向开源项目做贡献?
  4. 华为最新人事调整:余承东任智能汽车解决方案 BU CEO;美团悄悄更换抽佣规则,佣金不降反升;Scala 3 正式发布|极客头条...
  5. Python 手把手实现远程控制桌面
  6. 倪光南、求伯君“出山”:爱解 Bug、无惧“35岁魔咒”、编码之路痛并快乐!
  7. Serverless 如何做到快速发布?微应用平台技术实践
  8. MyBatis 缓存原来是这么一回事儿!| 原力计划
  9. 斯坦福首位华人女院长,“人造皮肤”赋予机器和残疾人触觉
  10. 不到70行 Python 代码,轻松玩转 RFM 用户分析模型(附案例数据和代码)