中文参考Google翻译,读着不畅请[参考原文]https://dzone.com/articles/reactjs-vs-vuejs-comparison-of-popular-frameworks
JavaScript越来越受欢迎,许多科技巨头正在从中获益。每天都会涌现出过多的框架和语言,我们无法跟上所有这些框架和语言。很难确定哪些值得关注。
快速React.js与Vue.js比较
React | Vue | |
---|---|---|
类型 | JavaScript库 | JavaScript库 |
适用于 | Web和Native的理想选择 | 主要关注Web开发,但它是为了支持其他平台的前进而编写的 |
开发人员 | Facebook社区(由Jordan Walke创建) | Evan You |
首次发布 | 2013年3月 | 2014年2月 |
写入 | JavaScript | JavaScript |
跨平台开发 | React的React Native是一个成熟且广泛使用的原生应用程序平台 | Vue的Weex仍在不断发展,旨在提供顺畅的开发体验 |
学习曲线 | 陡峭的学习曲线,需要深厚的知识 | 简单的学习曲线,基于HTML的模板使其熟悉 |
人气 | React在GitHub上最热门的Javascript项目列表中排名第二 | Vue.js排名第一,是2017年最时尚的项目,年内在GitHub上添加了超过40,000颗星 |
可重用性 | 仅CSS | 最大可重用性 |
性能 | 同样快速 | 同样快速 |
GitHub上的贡献者 | 1201 | 189 |
模型 | 虚拟DOM(文档对象模型) | 基于虚拟DOM HTML的模板 |
功能 | 可用作单页面或移动应用程序开发的基础 | 能够为高级单页面应用程序提供动力的Web应用程序框架 |
简单 | React比Vue更复杂 | Vue比React更简单 |
值得注意的特性 | 使用道具进行单向数据绑定有状态组件虚拟DOM 生命周期方法 JSX(JavaScript XML) HTML以外的架构 | 基于HTML的模板反应性组件(将整个应用程序划分为小型,自我包含,通常可重用的组件)转换路由*集成 |
Bootstrap应用程序 | CRA(创建React应用程序) | Vue-cli |
A Quick React.js vs Vue.js Comparison
React | Vue | |
---|---|---|
Type | JavaScript Library | JavaScript Library |
Ideal for | Both Web and Native | Primarily focused on web dev, but it was written to support other platforms moving forward |
Developer(s) | Facebook Community(Created by Jordan Walke) | Evan You |
Initial Release | March 2013 | February 2014 |
Written-in | JavaScript | JavaScript |
Cross-platform development | React’s React Native is a mature and widely used platform for native-rendered apps | Vue’s Weex is still evolving and aims to provide a smooth development experience |
Learning Curve | A steep learning curve and requires deep knowledge | Easy learning curve, HTML-based templates makes it familiar |
Popularity | React is ranked second on the list of hottest Javascript projects on GitHub | Ranked first, Vue.js wa the trendiest project in 2017, with more than 40,000 stars added on GitHub during the year |
Reusability | Only CSS | Maximum reusability |
Performance | Similarly fast | Similarly fast |
Contributors on GitHub | 1201 | 189 |
Model | Virtual DOM(Document Object Model) | Virtual DOM HTML-based templates |
Function | Can be used as a base in the development of single-page or mobile applications | Web application framework capable of powering advanced single-page applications |
Simplicity | React is more complex than Vue | Vue is simpler than React |
Notable Features | *One-way data binding with props *Stateful components *Virtual DOM *Lifecycle methods *JSX (JavaScript XML) *Architecture beyond HTML | HTML-based template *Reactivity *Components (divide the whole app into small, self-contained, and often reusable components) *Transitions *Routing *Integrations |
Bootstrap Application | CRA (Create React App) | Vue-cli |
JavaScript世界的发展速度比以往任何时候都快,作为一家软件开发公司,我们不能忽视这个时代最常讨论的框架--React.js和Vue.js.因此,在React与Vue的比较中,我们将根据每个框架的重要优缺点,以及市场趋势和见解,帮助您选择最佳框架。我们拥有一批技术娴熟的开发人员,他们不断更新Vue.js和React开发的各个方面。
让我们深入了解细节:
在进一步阅读之前,请确保您清楚地了解React和Vue.js是什么。它们是高度重视且广泛使用的JavaScript框架,用于界面设计。
什么是反应?它为什么如此受欢迎?
React得到了Facebook社区的支持,使得构建交互式UI变得非常容易。
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框架的痛点并构建轻量级的东西。
其受欢迎程度有很多原因,其中一个主要原因是它能够在没有任何操作的情况下重新渲染。它允许您构建可重用,小巧但功能强大的组件,因此,它提供了一个可组合的框架,允许您在需要时添加组件。
使用Vue.js的公司
Facebook,Netflix,Adobe,Grammarly,Behance,Xiaomi,阿里巴巴,Codeship,Gitlab和Laracasts
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开发本机呈现的应用程序。
无论是网络还是本机移动开发,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拥有一个成熟且规模更大的专业人士发展社区