Angular.js、React.js、Vue.js

Angular.js
AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVC(Model–view–controller)、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
AngularJS 是一个 JavaScript框架。它是一个以 JavaScript 编写的库。它可通过 <script> 标签添加到HTML 页面。 [2] 
AngularJS 通过 指令 扩展了 HTML,且通过 表达式 绑定数据到 HTML。
AngularJS 是以一个 JavaScript 文件形式发布的,可通过 script 标签添加到网页中。
AngularJS试图成为WEB应用中的一种客户端的解决方案。这意味着它不只是你的WEB应用中的一个小部分,还是一个完整的客户端的解决方案。这会让AngularJS在构建一个CRUD(增加Create、查询Retrieve、更新Update、删除Delete)的应用时显得很“固执”(原文为 opinionated,意指没有太多的其他方式)。但是,尽管它很“固执”,它仍然能确保它的“固执”只是在你构建应用的起点,并且你仍能灵活变动。AngularJS的一些出众之处如下:
构建一个CRUD应用可能用到的全部内容包括:数据绑定、基本模板标识符、表单验证、路由、深度链接、组件重用、依赖注入。
 
Vue.js
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,方便与第三方库或既有项目整合。
Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件 [2]  。
Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动复杂的单页应用。
 
React
React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。
这个项目本身也越滚越大,从最早的UI引擎变成了一整套前后端通吃的 Web App 解决方案。衍生的 React Native 项目,目标更是宏伟,希望用写 Web App 的方式去写 Native App。如果能够实现,整个互联网行业都会被颠覆,因为同一组人只需要写一次 UI ,就能同时运行在服务器、浏览器和手机。
React主要用于构建UI。你可以在React里传递多种类型的参数,如声明代码,帮助你渲染出UI、也可以是静态的HTML DOM元素、也可以传递动态变量、甚至是可交互的应用组件。
特点:
1.声明式设计:React采用声明范式,可以轻松描述应用。
2.高效:React通过对DOM的模拟,最大限度地减少与DOM的交互。
3.灵活:React可以与已知的库或框架很好地配合。
 
比较
React不是MVC框架

市场上有许多JavaScript MVC框架在性能和可靠性方面做得相当不错。那么,为什么React如此受欢迎?为什么有人会使用React而不是依赖其他一些MVC框架?

React是一个用于创建可重用且有吸引力的UI组件的库。它非常适合代表经常变化的数据的组件。使用React,您可以通过将它们分解为组件而不是使用模板或HTML来构建可重用的用户界面。

学习一次,随处写作

React的官方网站提到了这个关键功能,它说你可以使用React Native框架在JavaScript中构建移动应用程序。

React还介绍了JavaScript XML或JSX的使用,它是JavaScript的语法扩展。React不一定需要JSX,但它在创建UI组件和调试时非常简单有用。

使用React.js的公司

Facebook,Instagram,Netflix,纽约时报,雅虎,WhatsApp,Codecademy,Dropbox,Airbnb,Asana,微软

Vue.js简介:渐进式JavaScript框架

React和Angular是用于构建Web应用程序的两个*JavaScript框架。

Vue.js是一个开源JavaScript框架,能够开发单页面应用程序。它还可以用作Web应用程序框架,旨在简化Web开发。Vue.js应用程序开发引起了全球开发人员的极大关注,以构建令人惊叹的Web应用程序。

Vue或Vue.js是一个用于为Web构建引人注目的UI的渐进式框架。它最初于2014年由前Google开发人员Evan You发布,他使用AngularJS并决定排除Angular框架的痛点并构建轻量级的东西。

它的流行有很多原因,其中一个关键原因是它能够在没有任何动作的情况下重新渲染。它允许您构建可重用,小巧但功能强大的组件,因此,它提供了一个可组合的框架,允许您在需要时添加组件。

React.js vs Vue.js:谁赢了这场战斗?

这两个框架之间有许多相似之处,例如:

两者都是为了与根库一起使用而构建的。React.js和Vue.js基于Virtual DOM模型。这两种工具都具有基于组件的结构。

当然,这两种工具之间存在差异。每个框架都有自己的优点和缺点需要考虑。让我们一个一个地看看每个框架。

React.js的优点:

灵活性和响应性:它提供最大的灵活性和响应能力。虚拟DOM:由于它基于文档对象模型,因此它允许浏览器友好地以HTML,XHTML或XML格式排列文档。丰富的JavaScript库:来自世界各地的贡献者正在努力添加更多功能。可扩展性:由于其灵活的结构和可扩展性,React已被证明对大型应用程序更好。不断发展: React得到了Facebook专业开发人员的支持,他们不断寻找改进方法。Web或移动平台: React提供React Native平台,可通过相同的React组件模型为iOS和Android开发本机呈现的应用程序。无论是Web还是本机移动开发,React都是大多数用户界面设计平台的理想选择。

React.js的缺点:

陡峭的学习曲线:由于复杂的设置过程,属性,功能和结构,它需要深入的知识来构建应用程序。

现在,让我们转到Vue.js并谈谈它的优点和缺点:

与React相比,Vue.js的下载量更少,并且主要用于构建有吸引力的单页面应用程序和Web应用程序。但是,Vue.js具有适应性强的体系结构,使其成为广泛使用的框架之一,具有最新的库和包。

使用Vue.Js的优点

易于使用: Vue.js包含基于HTML的标准模板,可以更轻松地使用和修改现有应用程序。更顺畅的集成:无论是单页应用程序还是复杂的Web界面,Vue.js都可以更平滑地集成更小的部件,而不会对整个系统产生任何影响。更好的性能,更小的尺寸:它占用更少的空间,并且往往比其他框架提供更好的性能。精心编写的文档:通过详细的文档提供简单的学习曲线,无需额外的知识; HTML和JavaScript将完成工作。适应性:整体声音设计和架构使其成为一种流行的JavaScript框架。它提供无障碍的迁移,简单有效的结构和可重用的模板。

使用Vue.js的缺点

与Angular和React相比,Vue.js框架的市场份额仍然很小。它正在快速流行,但与此同时,在使用Vue.js时,可能会出现大规模应用程序开发方面的问题。

好吧,考虑到其现代功能,速度和灵活性,Vue.js有可能实现Web应用程序开发的里程碑。

两个框架的深入比较

重新渲染和优化

当你比较React和Vue时,速度不能成为决定哪个更好的重要比较因素。在性能方面,让我们考虑重新渲染功能。当组件的状态发生变化时,React的机制会触发整个组件树的重新呈现。您可能需要使用额外的属性来避免不必要地重新渲染子组件。

虽然Vue的重新渲染功能是开箱即用的,但Vue提供了优化的重新渲染,其中系统在渲染过程中跟踪依赖关系并相应地工作。

重新渲染Vue是最显着的特征,使其成为全世界开发人员广泛接受的框架。

JSX与HTML

React使用JSX - 一种声明性JavaScript XML,允许开发人员利用JavaScript的强大功能编写组件,而Vue.js使用HTML模板创建视图。

基于HTML的模板更加熟悉,在改进现有应用程序以获得Vue反应性功能的好处方面也是有益的。这为初学者和有经验的专业人士提供了一个简单的学习曲线,因为他们中的大多数人都以这种或那种方式使用HTML。

路由和状态管理解决方案

在像React和Vue这样的基于组件的框架中,当您开始扩展应用程序时,需要更加关注状态管理和数据流。这是因为有许多组件相互交互并共享数据。

在这种情况下,React提供了一种称为Flux / Redux架构的创新解决方案,它代表单向数据流,是着名MVC架构的替代方案。现在,如果我们考虑Vue.js框架,就会有一个名为Vuex的更高级架构,它集成到Vue中并提供无与伦比的体验。

建筑工具

React和Vue都有一个非常好的开发环境。只需很少或没有配置,您就可以创建应用程序,使您能够使用最新的实践和模板。在React中,有一个Create React App(CRA),在Vue中,它是vue-cli。

这两种引导工具都倾向于为您提供舒适灵活的开发环境,并为您提供开始编码的出色起点。

跨平台应用程序开发:谁是赢家?

跨平台应用程序开发已经广泛流行,两个框架都在竞相提供卓越的跨平台应用程序开发体验。React的React Native是一个成熟且广泛使用的本机渲染应用程序平台。另一方面,Vue的Weex仍在不断发展,旨在为iOS和Android创建应用程序提供流畅的开发体验。

何时使用Vue.js Over React

如果您想要一个轻量级,更快速,更现代的UI库来制作一流的SPA(单页面应用程序),您应该选择Vue.js. 对于习惯使用HTML的开发人员来说,这是有利的。此外,它还提供了组件的可重用性,使其成为开发人员在Web应用程序中构建无与伦比的用户体验的选择。

何时选择React Over Vue.js

当你是JavaScript的粉丝!React拥有一个成熟且规模更大的专业开发团队,致力于使其更先进。React由Facebook提供支持,其中包含许多用例,解决方案,资源和项目。此外,由于成熟的用户群,React适用于大规模应用程序和移动应用程序。很明显,如果您想使用JavaScript构建移动应用程序,React Native绝对是您的选择。

但是,要么是构建现代JavaScript应用程序的一个很好的选择,它高度依赖于团队,应用程序大小和可行的方法。

以下是整个评估的快速概述:

在以下场景中,Vue比反应更好:

最新文档和更简单的语法。更小,更快,更灵活。丰富的HTML模板,易于开发。

React比Vue.js好:

需要构建移动应用程序。专业和出色的社区支持,以解决任何问题。需要构建大型应用程序。轻量级,易于版本迁移。

快速React.js与Vue.js比较

Angular.js、React.js、Vue.js

总结

无论您选择React.js还是Vue.js,两个框架都没有相当大的差异,根据您的要求,这个决定是非常主观的。如果您想将前端JavaScript框架集成到现有应用程序中,Vue.js是更好的选择,如果您想使用JavaScript构建移动应用程序,React绝对是您的选择。

在这里,我们尽量不要偏向任何框架。如果我们遗漏任何可以使本文更全面有价值的重要观点或概念,您可以通过以下评论告诉我们!