您当前的位置:首页 > 电脑百科 > 程序开发 > 前端

Vue vs React:你需要知道的一切

时间:2023-09-11 14:47:23  来源:微信公众号  作者:前端F2E


什么是Vue?

Vue[1] 是一个用于构建用户界面的渐进式、可逐步采用的 JAVAScript 框架。它由 Evan You[2] 于 2014 年创建,并由一个活跃的开发者社区负责维护。

Vue 设计得非常轻量级、灵活和强大。它建立在一个基于组件的架构上,以组件为中心,可以更轻松地创建动态用户界面。它还有一个强大的双向数据绑定系统,可以让我们轻松地保持数据和用户界面同步。

Vue 的API简单但功能强大,易于上手,而且体积小(约 20KB),非常适合移动应用程序或单页应用程序(SPA)。说 Vue 是一个"渐进式"框架,意味着它不会自动提供一堆我们可能不需要的东西。相反,我们可以从最基本的功能开始构建响应式应用程序,然后随着项目的发展逐步导入更多功能。所有这些都让我们避免了模板代码和尺寸过大的困扰。

Vue趣事

  • Vue 的语法受到 Angular 和 React 的启发,旨在让已经熟悉这些框架的开发人员易于学习。
  • Vue 的名称源自法语动词 "vue"(看)。
  • Vue 的标志是一个抽象的字母 "V"。

什么是React?

React[3] 是一个用于构建用户界面的 JavaScript 库,由 Facebook 于 2013 年创建。它最初用于构建 Facebook 网站,后来成为开发web应用程序最流行的 JavaScript 框架之一。

React 为开发人员提供了一种声明式编程风格,更易于阅读和调试。它还使用虚拟 DOM,速度比传统 DOM 更快,性能更好。

React 基于组件的方法使开发人员能够利用可快速、轻松地组合在一起的可重用组件创建强大的应用程序。这使它成为快速原型开发和应用程序的绝佳选择。

React趣事

  • 全球一些最受欢迎的网站都在使用 React,其中包括 Facebook.NETflix 和 AIrbnb。
  • React 非常注重性能,其渲染速度明显快于主要竞争对手 Angular。
  • React 是最流行的前端 JavaScript 库。

Vue vs React:全面比较

现在,我们将进行一次 Vue 与 React 的压力测试,看看它们在整个开发链路中的一些关键方面有哪些优势。这些方面包括以下内容:

  • 「灵活性」。根据项目需求定制和调整有多容易,既可以使用其核心组件,也可以通过第三方附加组件来实现,而第三方附加组件通常无法获得同等程度的文档和支持。
  • 「开发和工具」。建立项目和开始编码有多容易。这一点非常重要,因为它将决定我们启动项目的速度,以及新开发人员提高工作效率的速度。
  • 「性能」。这一点非常重要,因为它决定了应用程序在用户设备上的运行效果。我们不应该低估这一点,因为它意味着愉快的应用体验(用户会不断回访)和令人沮丧的应用体验(用户可能会放弃)之间的差别。
  • 「文档和社区支持」。这将从根本上决定开发人员在遇到困难时获得帮助的速度,以及找到常见问题解决方案的难易程度。

下面就开始比较吧。

React 灵活性

React 以其灵活性而著称,因为它的核心只是一个UI库。它允许开发人员在编写代码时使用基于组件[4]的编程方法或函数式编程[5]方法。这意味着开发人员可以选择自己最擅长的编码风格,并以此创建功能强大的应用程序。

React 还支持各种库和工具,因此很容易与现有技术和项目集成。例如,React 可以与 Redux[6] 结合使用以进行状态管理,也可以与 Next.js[7] 结合使用以进行服务端渲染[8]。

  • 「优点」:高度可定制和可扩展;支持广泛的库和工具。
  • 「缺点」:可扩展性主要通过第三方插件实现。

Vue 灵活性

Vue 也提供很大的灵活性,因为我们可以在开始时只使用核心库,然后随着项目的发展逐步采用所需的内容。Vue 也支持基于组件[9]的编程方法或函数式编程[10]方法(包括 JSX),并支持各种库和工具。

但与 React 不同的是,这些扩展大部分都是由同一个团队开发的,因此集成和支持都非常出色。例如,Vue 甚至原生提供了服务端渲染[11]功能。这让我们可以放心地扩展我们的项目,因为我们知道,无论将来我们需要做什么,Vue 都能满足我们的需求。

  • 「优点」:高度可定制和可扩展,对库和工具提供广泛的原生支持。
  • 「缺点」:无。

使用 React 进行开发

通过第三方插件,React 还提供路由[12]和状态管理[13],以管理导航流和处理应用程序数据。React 的支柱之一 JSX[14] 可以让开发人员轻松地在 JavaScript 中编写类似 html 的语法,从而创建组件并将它们快速组合在一起。

  • 「优点」:易于设置和上手;有许多第三方插件。
  • 「缺点」:我们可能经常使用的许多扩展都不是官方的。

使用 Vue 进行开发

Vue 为路由[15]和状态管理[16]提供了原生模块,从而实现了导航流和应用程序数据的管理过程。Vue 还提供模板语法[17],允许开发人员创建易于重用和维护的组件。

尽管如此,由于 Vue 社区不像 React 社区那么庞大,要找到好的第三方解决方案还是有点困难。(不过有一个庞大的中文 Vue 社区,我们稍后再谈)。

  • 「优点」:易于设置和上手;原生模块可满足大多数开发需求。
  • 「缺点」:没有那么多第三方插件,维护也不完善。

React 工具

React 很容易设置并开始开发,它自带用于开发和调试的 Visual Studio Code 扩展[18](由微软开发)。

名为 Create React App[19] 的官方 CLI 允许我们快速设置基本的脚手架,以便立即开始编码。

React 还有一套开发人员工具[20](目前处于测试阶段),用于检查 React 组件、编辑props和状态以及发现性能问题。

  • 「优点」:用于调试和检查组件的强大工具。
  • 「缺点」:CLI 功能有限,性能不佳。

Vue 工具

Vue 也很容易设置和开始开发,它也有自己的 Visual Studio Code 扩展[21]、用于快速开发 SPA 的 CLI[22](比 React 的 CLI 功能更全面、更强大)以及自己的插件系统[23]。

此外还有 Vue Devtools[24],一个用于调试 Vue 应用程序的官方浏览器 devtools 扩展。

此外,Vite[25] 是用于现代web开发的下一代构建工具,具有极快的冷启动和增量编译时间。它是 Vue 团队的一个官方项目,因此能与 Vue 生态系统无缝集成,并提供一些高级功能,如热模块替换和tree-shaking。

  • 「优点」:用于调试和检查组件的强大工具,以及用于快速开发的 Vite。
  • 「缺点」:无。

React 性能

React 的速度相当快,因为它的设计目的只有一个而且做得很好:渲染用户界面。因此,无需太多额外工作,React 的性能就会非常出色;当然,还有进一步优化性能的具体指导原则[26]。

React 支持服务端渲染,这有助于进一步提高web应用程序的性能,尤其是在移动设备和较慢网络连接上。

  • 「优点」:开箱即用,性能稳定;可根据特定指南进行优化;支持服务端渲染。
  • 「缺点」:速度不如 Vue 快。

Vue 性能

React 在性能方面非常出色,而 Vue 甚至更快。它的虚拟 DOM 可以确保在数据发生变化时只对必要的元素进行重新渲染,因此它的性能和效率都很高。

Vue 可以比 React 做得更多,但性能仍然优于 React,这充分证明了 Vue 创建者 Evan You 的软件工程技能和强大的设计原则。



Tags:Vue   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除。
▌相关推荐
什么是Vue?Vue[1] 是一个用于构建用户界面的渐进式、可逐步采用的 JavaScript 框架。它由 Evan You[2] 于 2014 年创建,并由一个活跃的开发者社区负责维护。Vue 设计得非常轻...【详细内容】
2023-09-11  Tags: Vue  点击:(0)  评论:(0)  加入收藏
前言本文是笔者写组件设计的第七篇文章, 今天带大家实现一个自带主题且可关闭的Alert组件, 该组件在诸如Antd或者elementUI等第三方组件库中都会出现,主要用来提供系统的用...【详细内容】
2023-09-05  Tags: Vue  点击:(3)  评论:(0)  加入收藏
Vite的快速热更新能力和Vue 3的高效性能,加速了开发周期,使得开发者能够更快地迭代和测试应用。很多vue3的UI可以使用,例如本文选用的arco-design,这就是站在巨人肩膀之上。背景...【详细内容】
2023-08-28  Tags: Vue  点击:(30)  评论:(0)  加入收藏
构建现代大规模应用程序最具挑战性的方面之一是数据获取。加载和错误状态、分页、过滤、排序、缓存等许多功能可能会增加复杂性,并经常使应用程序充满大量的样板代码。这就是...【详细内容】
2023-08-22  Tags: Vue  点击:(13)  评论:(0)  加入收藏
在前端开发中,Vue 一直以其简单、高效的框架而备受开发者青睐。然而,随着 React 在市场上的流行,许多开发者开始对 JSX(JavaScript XML)这种声明式编程风格产生兴趣。本文将探讨...【详细内容】
2023-08-16  Tags: Vue  点击:(13)  评论:(0)  加入收藏
引言有这么一个需求:列表页进入详情页后,切换回列表页,需要对列表页进行缓存,如果从首页进入列表页,就要重新加载列表页。对于这个需求,我的第一个想法就是使用keep-alive来缓存列...【详细内容】
2023-08-15  Tags: Vue  点击:(12)  评论:(0)  加入收藏
最近,因为项目需要,不得不学习一下 vue3。于是花了 4 个小时,把 Vue3 过了一遍。现在我来带你快速了解 Vue3 的写法。本文的目的,是为了让已经有 Vue2 开发经验的 人 ,快速掌握 V...【详细内容】
2023-08-11  Tags: Vue  点击:(4)  评论:(0)  加入收藏
AICube 开放GPT-4给大家使用以及AI工具助手,可以简化大家生图的的prompt在编程中,有两个极具挑战性的任务:缓存失效和命名事物。今天,我们将深入探讨后者,探索为Vue组件命名props...【详细内容】
2023-08-07  Tags: Vue  点击:(19)  评论:(0)  加入收藏
虽然事件总线最初似乎是组件间通信的便捷方法,但建议探索替代选项,例如provide/inject或全局状态管理。这些替代方案为促进组件之间的通信提供了更强大且可维护的解决方案。在...【详细内容】
2023-07-28  Tags: Vue  点击:(36)  评论:(0)  加入收藏
作者 | 莫春辉责编 | 夏萌TinyVue 的开源征程OpenTiny 提供企业级的 Web 应用前端开发套件,包括 TinyVue/TinyNG 组件库、TinyPro 管理系统模板、TinyCLI 命令行工具以及 Tin...【详细内容】
2023-07-13  Tags: Vue  点击:(50)  评论:(0)  加入收藏
▌简易百科推荐
什么是Vue?Vue[1] 是一个用于构建用户界面的渐进式、可逐步采用的 JavaScript 框架。它由 Evan You[2] 于 2014 年创建,并由一个活跃的开发者社区负责维护。Vue 设计得非常轻...【详细内容】
2023-09-11  前端F2E  微信公众号  Tags:Vue   点击:(0)  评论:(0)  加入收藏
说起模块化开发大家想必都不陌生,特别是随着前端应用复杂化,代码呈倍数增长,我们不得不耗费大量的时间去进行管理,模块化也就逐渐的被大家所接受。所以具体来讲的话,模块化开发就...【详细内容】
2023-09-06  Onegun    Tags:模块   点击:(13)  评论:(0)  加入收藏
迭代器和生成器是 ES6 中引入的特性。迭代器通过一次消费一个项目列表来提高效率,类似于数据流。生成器是一种能够暂停执行的特殊函数。调用生成器允许以块的形式(一次一个)生...【详细内容】
2023-09-02  前端充电宝  微信公众号  Tags:前端   点击:(3)  评论:(0)  加入收藏
一、JS库JS库(JavaScript Library)是一组封装了常用功能和工具的JavaScript代码集合。它们提供了一系列的函数和方法,使得开发者能够更便捷地进行常见的操作和处理。JS库通常是...【详细内容】
2023-08-27  贝格前端工场    Tags:js库   点击:(24)  评论:(0)  加入收藏
值得一提的是,本篇文章是对 ROBIN WIERUCH 发表的《 10 Web Development Trends in 2023 》的文章的翻译,但是对部分内容进行了补充和修改,不喜勿喷。关于文章内部提到的诸多...【详细内容】
2023-08-25  高级前端进阶  今日头条  Tags:前端   点击:(24)  评论:(0)  加入收藏
SSE(Server-Send Events)SSE 是一种在基于浏览器的 Web 应用程序中仅从服务器向客户端发送文本消息的技术。SSE基于 HTTP 协议中的持久连接, 具有由 W3C 标准化的网络协议和 Ev...【详细内容】
2023-08-24  碧树西风    Tags:前端   点击:(14)  评论:(0)  加入收藏
构建现代大规模应用程序最具挑战性的方面之一是数据获取。加载和错误状态、分页、过滤、排序、缓存等许多功能可能会增加复杂性,并经常使应用程序充满大量的样板代码。这就是...【详细内容】
2023-08-22  大智视野  今日头条  Tags:Vue   点击:(13)  评论:(0)  加入收藏
Webpack 的第一次发布是在 2013 年发布,长久以来是主流的前端打包工具。Vite 的第一次发布是在 2021 年,是近两年来前端打包工具中的后起之秀,重点解决 Webpack 在开发阶段的...【详细内容】
2023-08-21  架构思考    Tags:Vite   点击:(23)  评论:(0)  加入收藏
今天给大家带来的主题是盘点2023年全网最火的 markdown 解析器和编译器,话不多说,直接进入正题。1.Marked.js1.1 什么是marked.jsmarked.js是markdown解析器和编译器,其具有以...【详细内容】
2023-08-20  高级前端进阶  今日头条  Tags:markdown   点击:(16)  评论:(0)  加入收藏
我们经常会遇到一个场景,比如在一个列表中批量获取用户的信息。 如果我们一次性往后端发送几十条请求是非常愚蠢的事情。此时我们就要学会如何使用批量获取的逻辑。但是批量...【详细内容】
2023-08-20  moonrailgun  今日头条  Tags:前端   点击:(18)  评论:(0)  加入收藏
站内最新
站内热门
站内头条