Vue.js 为何能逆袭 Angular 和 React 而主导前端?
作者 | Maja Nowak
译者 | 苏本如
责编 | 屠敏
出品 | CSDN(ID:CSDNNews)
随着在Github上的支持数超过12万,Vue.js以相当大的优势击败了Angular和React成为当前最热门的JavaScript前端框架。虽然在总的市场占有率上React依然称王,而Angular以其独有的特性,地位难以撼动。但从我们自己的团队而言,我们成为Vue的忠实粉丝已经有一段时间了,全球的开发者群体也在效仿。那么,是什么原因使得Vue的支持数月月攀升呢?
Vue最初可能是其创始人Evan You的一个新项目的开发需要,经过多年的发展,它已经成为一个成熟的框架,拥有成熟的生态系统和开发工具包。在它的发展过程中,Vue吸引了大量的代码贡献者、赞助者和传播者。
Source: Tim Qian(https://www.timqian.com/star-history/#vuejs/vue&angular/angular&facebook/react)
然而,从JS前端框架的市场占有率和商业应用上, React仍是大赢家。但是毫无疑问,Vue不会消失,它正在持续地一步步地被大家认可并付诸实践。
事实上,StateofJS的调查结果显示,使用过Vue并将再次使用Vue的开发人员数量从2017年的19.6%上升到2018年的28.8%。在同一份调查的“用户满意度最高的前端框架”这一项上,Vue获得了91.2%的最高分。
我认为Vue在今年的StateofJS的前端框架满意度调查中获得了91.2%的最高分,这要归功于我们的用户,我们的目标是做得更好!希望我们能改变568个不想再使用它的人的想法;https://t.co/7rm8y4ekq
— Evan You (@youyuxi) 2018年12月19日
让我们来看看下面的统计结果:
表中的百分比是指“听说过并愿意学习它”的比例. 统计数字来源: stateofjs.com
为什么Vue.js会持续增长?
Vue是建立于 Angular和React的基础之上,它保留了Angular和React的优点并添加了自己的独特成分,这保证了Vue足够的美好来吸引JS开发人员的胃口。
下面来谈谈Vue的过人之处:
平缓的学习曲线
Vue平缓的学习曲线赢得了初学者和高级开发人员的欢心。我们在State of Vue.js报告中调查过的开发人员都说,学习曲线是Vue引起众多开发人员兴趣的主要原因。在浏览完官方指南中包含的材料后,您就可以着手开发您的第一个Vue应用,而无需事先了解ES2015、typescript、JSX或其它前端框架。
你只需要对Javascript、HTML和CSS有一个基本的理解就可以开始使用Vue来构建您的应用。当然如果您在使用框架方面有一些经验会更好,特别是您正在构建的是复杂的Web应用(稍后将详细介绍)。
Vue的高可访问性有助于快节奏的开发团队在不需要花费大量时间熟悉多余的语法扩展的情况下快速出成果。为一个项目组建一个团队或将Vue集成到一个项目中变得更容易、更快。尽管目前市场上的Vue开发人员还不多,但只要有使用React的经验,开发人员就可以轻松地切换到Vue,且只需一周左右的时间就可以出成果。
Vue还减少了理解复杂代码所需的时间(这在使用Angular时很常见)。这一点对编写简单的Web应用特别方便。
模块化、灵活的开发环境
Vue的Web应用是使用组件构建的。因为Vue已经根据项目需要为开发人员提供了许多灵活性和适应性,而且Vue的单文件组件是松散耦合的,这可以提高代码重用性,进而缩短了开发时间。
基于组件的架构是构建将来有扩展需求的应用的理想选择。Vue要求构建大型应用时一开始就使用模块化来构建系统。但是Vue在这里也给了开发人员一些灵活性,因为Vue、Webpack或Browserify推荐的bundler具有稍后用您选择的预处理器转换源代码的能力。
开发的乐趣
在Monterrail团队,我们的开发人员经常强调他们使用Vue构建应用程序的纯粹乐趣。自由地按照开发人员喜欢的方式构造代码,以及无倾向的编码方式,是Vue深受开发人员热捧的主要原因。
梳理代码库变得轻而易举,实际上您所需要的一切都在.vue文件中。从数据模型和模板到CSS、属性、计算值和方法,所有组件如何工作都可以从中找到,这让您省去额外的麻烦。
丰富的生态系统和开发工具的多样性
Vue以丰富的代码库和成套方便开发的工具,满足了开发人员的所有需求。这些有名的旨在提高编码体验的工具包括:用于状态管理的Vuex和用于路由管理的Vue-routing, 后者可以将单页应用程序的和对应的URL一一映射,让构建单页面应用变得易如反掌。
Vue还有自己的官方调试工具 devtools ,它作为浏览器扩展的形式出现。devtools简化了应用程序调试和组件的状态和层次结构的检查。它允许实时编辑应用程序、跟踪自定义事件和跨时间点调试应用程序,以查看以前的版本和所做的更改。
支持移动开发
Vue为开发人员提供了一些跨平台移动用户界面开发的解决方案。包括阿里巴巴(Alibaba)创建的Weex,和以拥有海量工具、组件和插件库著称的NativeScript。最近,Ionic也加入进来了。
与React Native的“Learn once, write anything”不同,Weex和Nativescript都宣称“Write once, run it anywhere”。这种设计使您能够在多个平台之间以透明和可重复的方式管理UI。这点很太棒。
特有的响应机制
各种HTML元素中的数据在现代的Web应用中动态地渲染。Vue的特有的响应机制可以自动刷新用户界面。这种方法节省了大量的时间和额外的代码行,以便开发人员可以集中精力来开发其他功能,从而提高效率。
高性能
Vue.js速度很快。尽管它不是最快的框架,但Vue.js目前所具有的特性足以为SPA和UI提供完美的用户体验。
对于移动应用,Vue相比Angular和React而言,它能更快地启动应用。鉴于53%的用户会放弃加载时间超过3秒的网站,而移动应用又是现在网站提升用户体验的第一选择,因此Vue的高性能就变成了选择JavaScript前端框架的一个重要考量。
支持HTML模板
这点有些争议,但引入基于HTML的模板提高了工作效率,特别是对于我们这些有HTML基础的人来说有很大的吸引力。Vue的模板也有助于将它的快速响应机制引入到已有的Web应用。模板由Vue编译以具有虚拟DOM渲染功能。这样做的好处是,在App状态改变时,Vue向DOM中引入的操作最少。
社区交流活跃
Vue社区的蓬勃发展积极地促进了框架的发展。全世界每年都有几次专门为Vue举办的大型会议。
下面是一些即将召开的值得关注的会议:
Vuejs Amsterdam 2019:https://www.vuejs.amsterdam/
Vue Fes Japan:https://vuefes.jp/
VueConf US:http://us.vuejs.org/
Vue社区不仅仅组织正式的会议,Vue非正式的交流在六大洲的很多国家一直在进行,通过一杯啤酒或咖啡,Vue开发人员就可以分享他们使用框架的知识和经验。
容易上手
Vue.js有非常好的官方文档,让开发人员可以很容易地找到所需的关于Vue的方方面面。官方指南有示例和详细描述。API文档还收录了开发人员在编码时可能遇到的大多数问题和解决方案。
教程
除了通过官方指南学习Vue,您还可以通过一些可获得的教程(包括视频和示例)来掌握Vue中的编程技巧。一些免费教程会以有趣的方式引导您全面掌握Vue(例如Scrimba –它是 Vue的推荐教程)。
以下列出其它可能让你迷上Vue的教程:
Intro to Vue.js by Vue Mastery:https://www.vuemastery.com/courses/intro-to-vue-js/vue-instance/
Vue on Laracasts:https://laracasts.com/series/learn-vue-2-step-by-step
Vue.js on Tutorialspoint:https://www.tutorialspoint.com/vuejs/
StackOverflow和官方聊天频道
对于教程中没有涵盖的各种代码疑难问题,您可以用Ask a question on StackOverflow得到你所要的答案。新的问题和回复会一直弹出,所以不管你的问题有多复杂,你都很有可能得到你要的答案。
当你遇到一个紧迫的编程问题时,你不会孤军作战,你可以在Vue官方聊天频道中向其他编码人员寻求帮助,很快你就会收到回复。
Vue持续发展
Vue自2014年发布,一开始许多开发人员都不愿采用它,因为每个人都担心它会被放弃而导致需要承担合并代码到另一个框架中的艰巨而昂贵的任务。当然这一切都没有发生。Evan You在2018年9月宣布将要发布Vue.JS 3.0版,尽管到目前为止还没有明确的发布日期,但是这次更新的重要性在于它是基于开发人员的贡献和并解决了大家反馈的问题。在没有知名品牌企业支持的情况下,Vue能快速发展到现在是一项了不起的壮举。
Vue的生态系统正在越来越大,越来越好,也越来越受到开发人员和企业的赞赏。
谁在使用Vue?
Vue.js可能还不是最流行的Javascript前端框架,但它已经被阿里巴巴、Grammarly、小米、Laracasts和Reuters等大牌公司所接受。要想更好地了解Vue的过人之处,你可以浏览大量的UI组件、网站、模板、插件、应用等等,或者通过使用Vue来构建您的应用。
至于后端框架对Vue的支持,PHP框架Laravel就建议使用vue.js进行前端开发,尽管这不是必须的。
我应该将Vue.js添加到我的技术堆栈中吗?
答案是Yes。然而,Vue并不是唯一值得关注和有前景的JS前端框架。你最好先测试一下并使用一些框架后,再看看哪些框架适合你的项目需求。
所以即使我们喜欢Vue,它也不是一个完美的框架。但我们必须承认,Vue已经尽可能地接近完美。而且如果我们根据它的学习曲线、维护的连续性和提高开发人员生产力的能力来评判的话,那么Vue就是那颗最耀眼的星星。
原文: https://www.monterail.com/blog/reasons-why-vuejs-is-popular
本文为 CSDN 翻译,如需转载,请注明来源出处。
热 文 推 荐
☞ 刚刚!程序员集体荣获2个冠军,这份2018 IT报告还说这些!
print_r('点个赞吧!');
var_dump('点个赞吧!');
NSLog(@"点个赞吧!");
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧!\n");
cout << "点个赞吧!" << endl;
Console.WriteLine("点个赞吧!");
fmt.Println("点个赞吧!");
Response.Write("点个赞吧!");
alert("点个赞吧!")
echo "点个赞吧!"