前端三剑客 React、Angular、Vue.js 比较

一.它们是什么东西,我们先来了解一下

AngularJS

AngularJS [1]  诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVC(Model–view–controller)、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。

React 

React 是一个用于构建用户界面的 JAVASCRIPT 库。React主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。

Vue.js 教程

Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层, 采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

 

二、趋势

根据谷歌的趋势,看一下React与Angular与Vue.js的比较。Angular似乎是赢家,React排在第二位,为Vue.js留下一小部分。

根据2017年Stackoverflow调查,Angular受到51.7%的开发者的喜爱,而React被66.9%的受访开发者所接受。React和Angular在流行的前端框架类别中具有几乎相同级别的用户。Vue没有在上述任何一个名单中占据一席之地,但有能力参加这场战斗。

但是在github的关注度上 vue.js的关注度远远比其它两个要高。

三、公司的使用情况

Angular是一个由Google支持的基于TypeScript的JavaScript框架。这是一个非常受欢迎的前端开发框架。Angular是作为Angular 2或Angular发布的,它构成了AngularJS(框架的第一个版本)的重写。

Angular开发在全球开发人员中广泛流行,并被谷歌,福布斯,WhatsApp,Instagram,healthcare.gov和许多财富500强公司等大型组织使用。

React是一个用于构建Web应用程序UI组件的JavaScript库。React由Facebook维护,许多领先的科技品牌在其开发环境中使用React。React被Facebook,Uber,Netflix,Twitter,Udemy,Paypal,Reddit,Tumblr,Walmart 等使用。来自Facebook的另一个受欢迎的企业React Native用于使用JavaScript和React构建本机移动应用程序。许多知名公司因其出色的特性和功能而转向React开发。该 阵营与Vue.js 主题也在网络上嗡嗡作响,为您提供了选择最佳框架的充分见解。

现在,来到Vue,Vue.js是讨论最多且发展最快的JavaScript框架之一。它由前谷歌员工Evan You创建,他在担任Google员工时曾在Angular工作过。您可以认为它是成功的,因为它能够使用HTML,CSS和JavaScript构建有吸引力的UI。Vue被阿里巴巴,GitLab,百度使用,并受到全球开发人员和设计师的赞赏。

四、分析

框架?程序库?有什么不同?

Angular是一个框架,因为它为您提供了使用完整设置构建应用程序的良好开端。您无需查看库,路由解决方案和结构。你可以简单地开始建设。另一方面,React和Vue比Angular更灵活,更通用。

使用React,您可以进行多个集成,因为您可以将库与其他优秀工具配对,交换和集成。在这一点上,React开箱即用,因为它提供了无缝集成的灵活性,但是,这样做有更多的机会出错,它需要更多的依赖。

与这三个框架相比,Vue是最干净的。它可以帮助您在保持代码高效的同时实现内部依赖性和灵活性的完美平衡。它是一个非常简单,直接且易于使用的JavaScript框架,旨在简化Web开发。

您需要关注的其他重要事项

Angular涉及依赖注入,这是一个对象为另一个对象提供依赖关系的概念。这使代码更清晰,更容易理解。另一方面,有一个MVC模式将项目分成三个不同的组件 - 模型,视图和控制器。React没有任何这样的概念,它只用于构建应用程序的View,而Angular则基于MVC架构。

表现:哪个更好?

Virtual DOM模型在性能方面非常有用。React和Vue都有一个Virtual DOM。由于结构精良,Vue可提供出色的性能和内存分配。另一方面,React运作良好,Angular已经在竞争中领先。

性能取决于各种因素。这三个框架比其他JavaScript框架相对更快。您不应该考虑性能来得出结论,因为它主要依赖于应用程序的大小和代码的优化。

本机应用程序开发?可能?

原生应用程序是为特定平台构建的。React拥有React Native,您可以使用它为iOS和Android开发本机应用程序。Angular的NativeScript已经被很多人用来开发本机应用程序,而Ionic框架在制作混合应用程序时广受欢迎。

Vue的Weex平台正在不断发展,目前似乎还没有计划进一步发展,使其成为一个成熟的交叉开发平台。

哪个平台提供简单的学习曲线?

Angular和React有自己的方法来做事情,其中,Vue相当容易。许多公司正在转向Vue,因为它易于使用。在Angular或React中开发需要良好的JavaScript知识,您需要就第三方库做出很多决策。

如果您的应用程序很大并且在Vue中涉及大量代码,那么不仅编码,而且调试和测试可能是一个真正的问题,因为它允许您以老式的JavaScript方式构建应用程序。

Angular提供了非常丰富且清晰的错误消息,实际上可以帮助开发人员解决问题。

单向数据流与双向数据绑定

这是React和Angular之间的主要区别之一。双向数据绑定是指UI字段绑定到动态建模的机制。当UI元素发生变化时,模型数据也会相应地更改。另一方面,单向数据流意味着只有一个单一的事实来源 - 模型。应用程序的数据以单一方向流动,只有模型才能更改应用程序的状态。

单向数据流易于理解和确定,而双向数据绑定由于其复杂性而难以理解和实现。

现在,如果我们在这种情况下考虑我们的框架,Angular使用双向数据绑定,React用于单数据流,Vue支持两者。在这里,重点是,Angular的双向方法提供了有效的编码结构,开发人员发现它易于使用。React提供了更好的概述和理解,因为数据是在一个方向上管理的。

Mircoapps和微服务的崛起

科技界目前正在接受mircoapps和微服务。React和Vue都可以灵活地选择对应用程序很重要的东西。您只需将所需的库添加到React和Vue中的源代码中。Angular使用TypeScript,这就是为什么它更适合SPA而不是微服务。React和Vue都为开发微应用程序和微服务提供了更大的灵活性。

最后,我应该选择什么?

如果您比其他功能更喜欢灵活性,请使用React。

如果您喜欢在TypeScript中编码,请选择Angular。

如果您是JavaScript爱好者,请使用React,因为它完全与JavaScript有关。

如果您喜欢干净的代码,请在您的应用程序中使用Vue。

Vue提供最简单的学习曲线,是初学者的理想选择。

如果要在应用程序中分离关注点,请使用Vue。

如果您喜欢面向对象的编程,Angular绝对是您的选择。

Vue非常适合小型团队和小型项目。如果您的应用程序似乎很大并且具有重要的未来扩展计划,请选择React或Angular。

对于跨平台应用程序开发,React Native是一个理想的选择,因为它提供了现代功能,您可以轻松地找到资源。另一方面,Angular需要良好的JavaScript知识才能构建大规模应用程序。

 

五、最后盗来一张图(比较直观图):

由于水平有限,本文参考了:https://baijiahao.baidu.com/s?id=1609374985643812253&wfr=spider&for=pc

侵权了联系删,谢谢大家!

代码交流 2021