React vs Vue:谁是2022年的最佳框架?

作者:Ashika Elza来源:51CTO技术栈

【51CTO.com快译】

作者丨Ashika Elza

译者丨布加迪

策划丨云昭

应该使用哪种 JavaScript 框架:React 还是 Vue.js?新的 WordPress 编辑器基于 React,而 Vue.js 是 Laravel 社区的流行框架。

开发界两种最流行的前端 JavaScript 框架是 React.js 和 Vue.js。React 是一种声明式编程语言,通过虚拟 DOM 与 HTML 文档进行交互。

React 和 Vue 都为软件开发人员提供了一种实用的方法来开发各种在线应用程序,但各自有一套最佳实践,适合不同的业务需求。

Vue.js 简介

Vue.js 是一种开源 JavaScript 前端框架。单页应用程序和用户界面是使用模型 - 视图 - 视图 - 模型架构构建的。

Evan You 开发了 Vue.js,它使用“高解耦”,允许 Vue 开发人员逐步创建用户界面。

Vue.js 是一种用于创建用户界面的复杂框架。

与其他整体式框架不同,Vue JavaScript 是从头开始构建的,逐步得到采用。

Vue 框架的主要库完全专注于视图层,易于学习,与各种库和现有项目集成。

与配套库和现代工具结合使用时,Vue js 还完全能够支持优雅的单页应用程序。

Vue.js 的功能特点

1、组件

Vue.js 组件是该框架最重要的功能之一。它们用于封装可重用的代码,并补充基本的 HTML 组件。在 Vue.js 应用程序中,您可以构建可重用的自定义元素,然后可以在 HTML 中重用。

2、模板

为了将显示的 DOM 连接到 Vue 实例数据,Vue.js 包含基于 HTML 的模板。所有 Vue 模板都是有效的 HTML,可以被浏览器和符合标准的 HTML 解析器解析。Vue.js 将模板编译成 Virtual DOM 渲染函数。Vue 在更新浏览器之前在虚拟 DOM 内存中渲染组件。如果您改变应用程序的状态,Vue 可以找到需要重新渲染的最少数量的组件和最少数量的 DOM 操作。

3、反应性

Vue 具有反应性框架,可通过使用简单的 JavaScript 对象来优化重新渲染。在此过程中,每个组件都跟踪其反应性依赖项,因此系统确切地知道何时重新渲染哪些组件。

4、路由

Vue 使用官方路由器通过 URL 路由用户。

单页应用程序(SPA)无法将连接分区到单个网页内的特定子页面,这是最常见的缺陷。

由于 SPA 仅向用户提供来自服务器的面向 URL 的单个响应,因此将特定的屏幕加入到书签或将链接分配给特定区域就算不可能,也很困难。

为了解决这个问题,一些客户端路由器使用“hashbang”(#!)来限制动态 URL。

5、转换

从 DOM 中更新、插入或删除对象时,Vue 提供了多种技术来运用转换效果。这包括以下工具:

使用 JavaScript 在转换 hook 期间立即更改 DOM。同化 Velocity.js 第三方 JavaScript 动画库。机械地运用 CSS 动画和转换类。应使用第三方 CSS 动画库 Animate.css。

React 简介

React 是一种 JavaScript 库,可用于创建 Web 应用程序界面。通过重用组件,React 或者 ReactJS 帮助为其产品开发更好的框架。ReactJS 由两部分组成:HTML 代码和 HTML 文档。HTML 代码用于创建用户视图层,又叫用户界面(UI)。所有组件都包含在 HTML 页面上。

React 由 Facebook 软件工程师 Jordan Walke 开发。2011 年,React 诞生。另一方面,React 在设计时考虑到 Facebook。React 库在创建网站和应用程序时派得上用场。Whatsapp 和 instagram 是最有名的两家采用 React 的公司。因而,React 在 2013 年向公众发布。

React 的功能特点

1、简单

React 理解和实施起来简单得多。因此,任何使用过 JavaScript 的开发人员都可以快速上手 React,开始开发 Web 应用程序。

2、可重用元素

代码的可重用性是 React 最重要的功能之一。可重用性使开发人员的工作变得轻松。程序员不需要为相关的应用程序组件构建单独的脚本。因此,可重用代码。因而,代码可重用性有助于降低制造成本。

3、简易的代码测试

测试是 React 的另一个重要方面。它随带的原生工具使测试和调试变得轻而易举。ReactJS 基于组件的架构减少了所需的调试工作量。更改应用程序的一个组件并不影响其他组件。因此,React 在测试和故障排除方面节省了大量时间。

4、对 SEO 友好

使用 ReactJS 加快了网页的创建。React 应用程序加载页面的速度比其他类型的应用程序快得多。因此,React 页面的跳出率很低。此外,React 的组件(比如 React Helmet 和 React Router)有助于开发对 SEO 友好的应用程序。

Vue 与 React

Vue

React

开源框架

Vue 由 Evan You 开发

React 由 Facebook 开发和支持

min+gzip 后,Vue 大小约为 20 KB

React 大小约为 100 KB

Vue 使用与 React 相似的虚拟 DOM 和操作型原则。然而说到组件更新和创建,Vue 更快速。

React 采用虚拟 DOM,这是不依赖 Web 浏览器的对象模型。该框架机械地呈现 HTML 页面。

Vue 可用于构建旨在轻盈快捷的小型

网页应用程序。

React js可用于构建基于社区的平台,比如应用市场和论坛。

结语

React 和 Vue 都是创建交互式用户界面的优秀技术。您在决定哪一个最适合项目时,要考虑诸多变化因素,包括贵公司的需求、特定用例、开发人员可用性、环境、时间表和预算。

Vue.js 似乎采用了 React 中引入的许多概念,并加以完善和改进。一些人认为,Vue.js 学起来较易入手。它在 Laravel 社区似乎大受欢迎,我认为 Vue 3 的发布对于 Vue.js 爱好者来说将是重大事件。我认为,Vue.js 有强大的社区,但与 React 没法相比。

原文链接:

https://www.datasciencecentral.com/profiles/blogs/react-vs-vue-which-is-the-best-framework-in-2022

会议推荐

近年来,“大前端”领域不断拓展和深化。为了更好地适应新的产品形态和用户需求,大量新的技术理念、技术标准、技术工具不断涌现。这些新技术让开发者面临前所未有的机遇和挑战。2022 年 4 月 9 日至 10 日的 WOT 全球技术创新大会“大前端新技术实践”专题中,多位大前端领域知名技术专家将聚焦大前端前沿技术,分享他们对新技术的探索和落地实践经验。

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

原文地址:https://www.toutiao.com/article/7047661493201961480/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如果组件之中有复用的代码,需要重新创建一个父类,父类中存储公共代码,返回子类,同时把公用属性...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例如我们的 setState 函数式同步执行的,我们的事件处理直接绑定在了 dom 元素上,这些都跟 re...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom 转为真实 dom 进行挂载。其实函数是组件和类组件也是在这个基础上包裹了一层,一个是调...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使用,可能是不了解。我公司的项目就没有使用,但是在很多三方库中都有使用。本小节我们来学习下如果使用该...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接触 react 就一直使用 mobx 库,上手简单不复杂。
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc 端可以使用分页进行渲染数限制,在移动端可以使用下拉加载更多。但是对于大量的列表渲染,特别像有实时数据...
本小节开始前,我们先答复下一个同学的问题。上一小节发布后,有小伙伴后台来信问到:‘小编你只讲了类组件中怎么使用 ref,那在函数式组件中怎么使用呢?’。确实我们...
上一小节我们了解了固定高度的滚动列表实现,因为是固定高度所以容器总高度和每个元素的 size、offset 很容易得到,这种场景也适合我们常见的大部分场景,例如...
上一小节我们处理了 setState 的批量更新机制,但是我们有两个遗漏点,一个是源码中的 setState 可以传入函数,同时 setState 可以传入第二...
我们知道 react 进行页面渲染或者刷新的时候,会从根节点到子节点全部执行一遍,即使子组件中没有状态的改变,也会执行。这就造成了性能不必要的浪费。之前我们了解...
在平时工作中的某些场景下,你可能想在整个组件树中传递数据,但却不想手动地通过 props 属性在每一层传递属性,contextAPI 应用而生。
楼主最近入职新单位了,恰好新单位使用的技术栈是 react,因为之前一直进行的是 vue2/vue3 和小程序开发,对于这些技术栈实现机制也有一些了解,最少面试...
我们上一节了了解了函数式组件和类组件的处理方式,本质就是处理基于 babel 处理后的 type 类型,最后还是要处理虚拟 dom。本小节我们学习下组件的更新机...
前面几节我们学习了解了 react 的渲染机制和生命周期,本节我们正式进入基本面试必考的核心地带 -- diff 算法,了解如何优化和复用 dom 操作的,还有...
我们在之前已经学习过 react 生命周期,但是在 16 版本中 will 类的生命周期进行了废除,虽然依然可以用,但是需要加上 UNSAFE 开头,表示是不安...
上一小节我们学习了 react 中类组件的优化方式,对于 hooks 为主流的函数式编程,react 也提供了优化方式 memo 方法,本小节我们来了解下它的用...
开源不易,感谢你的支持,❤ star me if you like concent ^_^
hel-micro,模块联邦sdk化,免构建、热更新、工具链无关的微模块方案 ,欢迎关注与了解
本文主题围绕concent的setup和react的五把钩子来展开,既然提到了setup就离不开composition api这个关键词,准确的说setup是由...
ReactsetState的执行是异步还是同步官方文档是这么说的setState()doesnotalwaysimmediatelyupdatethecomponent.Itmaybatchordefertheupdateuntillater.Thismakesreadingthis.staterightaftercallingsetState()apotentialpitfall.Instead,usecom