首页 > 其他分享 >为什么选择 Vue 3?

为什么选择 Vue 3?

时间:2024-06-02 22:28:32浏览次数:12  
标签:为什么 Vue 框架 JavaScript 选择 组件 React 页面

专栏目录

《Vue 3 基础》


文章目录


前言

随着互联网行业的不断发展,前端开发已经渗透到应用开发的方方面面,选择一款趁手的开发框架,无疑会大大地提升效率,增加编码的愉悦度。

本文主要介绍一下 Vue 是什么,看完之后,希望你也认为值得入坑。


一、Vue 是什么?

要简单明了地介绍一门技术,无外乎就是要了解这三个问题:

  • 是什么:在整个技术体系中,处于什么位置?
  • 适用场景:它能帮我们解决什么问题?
  • 横向比较:和其他类似方案横向比较,优势和不足分别是什么?社区/生态是否成熟?

最后想要得到的答案:你值得花时间去学它吗?

Vue 是什么?

Vue 是一个渐进式 JavaScript 框架,易学易用,性能出色,适用场景丰富的 Web 前端框架。——摘自 Vue 官方网站

官方这段介绍,重点提到了是一个渐进式 JavaScript 框架,包含了两个关键词。

其一是 JavaScript 框架,这个不用赘述,其二是 渐进式,就是说你可以根据现有项目的状态,决定多大程度使用 Vue 来完成部分(某一个页面的一部分、一个页面、其中几个页面都可以)或者全部功能,不必一次把整个应用推翻重构。

这段介绍,并没有包括 Vue 的全部特点,介绍中还有这么一句:

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。——摘自 Vue 简介

下面再聊聊 Vue 的特点

Vue 的三个特点

1、组件化架构

Vue 的核心思想是组件化编程

组件是应用程序中的一个可重复使用的部分,它可以封装代码、样式和行为,并将其作为一个整体进行管理。

这里的整体,是说 Vue 把组件的逻辑放到一个 .vue 文件中,称为单文件组件Single File Component,简称 SFC,这一点和 React 不一样)

每个 Vue 应用程序都由一个或多个组件组成。这些组件可以嵌套,形成嵌套层次结构,并且可以通过父子组件之间的数据传递来实现通信。这种方式使得 Vue 应用程序易于维护和拓展,方便代码复用,使得重复代码量大大减少

利用 Vue Devtools 可以很方便的看到整个应用的组件架构,从而更易于理解业务逻辑并进行调试。

2、响应式编程

Vue 的另一个关键特性是响应式编程

Vue 可以跟踪应用程序中的数据变化,并自动更新用户界面。这种机制使得开发人员只需要关注数据本身,而不必手动维护用户界面的状态。

在 Vue 中,您可以使用响应式数据对象来存储应用程序中的数据。当数据发生变化时,Vue 会自动重新渲染组件,以反映新数据的状态。

组件的 JS 逻辑,核心就变成了控制这些响应式数据对象的变化,编码的心智负担大大降低。

3、学习成本低

Vue 基于标准 HTML、CSS 和 JavaScript 构建,如果你有这三门基础,看看文档一两天就能上手开发了。
Vue 由尤雨溪(Evan You)开发,首次发布于 2014 年,因此中文文档也非常完善。

Vue 生态

一个 JavaScript 框架的生态是否强大,决定了它的前景。

Vue 的生态系统非常强大,有许多第三方库和插件,可用于解决各种问题和扩展 Vue 的功能,这部分可以参见官方的工具链介绍。

举一些例子:

  • 项目脚手架:Vite 是一个轻量级的、速度极快的构建工具,可以帮助您轻松完成搭建项目、开发调试到打包构建的整套流程。
  • IDE 支持:推荐使用的 IDE 是 VS Code,配合 Vue - Official 扩展 (之前叫做 Volar)。该插件提供了语法高亮、TypeScript 支持,以及模板内表达式与组件 props 的智能提示。
  • 官方库支持:vue-router 可以帮助您管理应用程序的路由;Pinia 可以帮助您管理 Vue 应用程序中的状态
  • 调试工具:Vue Devtools 可以帮助你了解 Vue 运行时的状态,方便调试代码。
  • 大量成熟的第三方组件库:Element UIElementPlusAnt Design Vue

适用场景

  1. 开发 Web 页:无论适合 PC 浏览器访问的网页(后面统称PC页面),还是手机里访问的页面(后面统称H5页面),Vue 都是非常适合的。
  2. 开发小程序:uni-app 默认使用 Vue 作为开发语言,可以一套代码发布成各种小程序、手机 App、H5页面
  3. 开发手机 App:Weex 默认使用 Vue 语法编写,并最终打包发布为原生的 App。

横向比较

开发 Web 页面,目前常用的前端方案有ReactVueAngular

  1. React:Facebook 开源,当之无愧的王者;
  2. Vue:尤雨溪开源,在国内很受欢迎,甚至超过 React;
  3. Angular: 谷歌开源,适合大型项目,学习曲线陡峭。

看一个框架的情况,还是要用数据对话,下面是近期采集的数据

对比维度ReactVueAngular
首次发布时间201320142010
最新版本v18.3.1v3.4.27v.18.0.1
npmjs 周下载量2301万479万332万
npmmirror近一周单日下载峰值7万9万0.4万
GitHub stars224k207k94.9k

可以参阅一些其他人的对比文章

jQuery 当下已经使用的很少,但因此就不再推荐。

那么,对于初学者,应该如何选择?说说我个人的看法:

  1. ReactVue 最好都掌握,在国内无论一线互联网大厂,还是小公司,这两个框架应用范围都很广,最好是根据你自己当前工作团队或者手里项目的技术栈需要,选择其一进行优先学习,有空的时候再学另一个。其实只要有组件式开发的理念,熟悉一下很快就能上手,迁移的成本没那么高。在国外 React 用户还是远远大于 Vue 的。

有人统计过 2023 年国内镜像 npmmirror 的下载量,得出如下结论:2023年国内 react 比 vue 多 300 万下载量,2023年国外 npm 上 react 10 亿, vue 2 亿 , 相差 5 倍 —— 摘自:今年各个前端框架和组件库 npm 与 npmmirror 的总下载量

  1. Angular在国内市场使用比 ReactVue 都少,一般外企使用会比较多,如果你没打算去外企或者海外远程工作,Angular 不应该是首选的学习目标

二、为什么选择 Vue3?

在业内当下使用比较高频的有 Vue 2.xVue 3.x 两个大版本,其中 Vue 2.x 官方已经宣布自2023年12月31日起不再维护

鉴于仍然存在很多使用 Vue 2.x 开发的应用还在维护,如果感兴趣,可以去官网(https://v2.cn.vuejs.org/)学习 Vue 2.x。
有条件的建议升级到 Vue 3.x,毕竟这是大势所趋。

Vue 2.x 和 Vue 3.x 的主要区别

  1. 更容易维护:最大的亮点 组合式 API,并且很好的支持了 TypeScript
  2. 更快的速度:重写了 diff 算法,并优化了模板编译;支持更高效的组件初始化
  3. 更小的体积:移除一些冷门功能,支持 tree-shaking按需引入
  4. 更优的数据响应式:监听方式改为 Proxy

Vue 3 升级指南

主要学习一下组合式 API的写法,用习惯了以后你会发现比 Vue 2 的写法更简洁。
不过你如果还想继续保持 Vue 2 的选项式 API 写法,Vue 3 也是支持的。

建议阅读官方文档 Vue 3 迁移指南

总结

那么 Vue 3 值得前端初学者选择吗?当然值得,且尽量首选。欢迎大家发表自己的看法一起探讨。

下一篇将介绍一下 Vue 的学习路线。

标签:为什么,Vue,框架,JavaScript,选择,组件,React,页面
From: https://blog.csdn.net/bencalie/article/details/139333587

相关文章

  • vue3 使用element plus 方式
    安装依赖npminstallelement-plus--save引入依赖import'./assets/main.css'import{createApp}from'vue'import{createPinia}from'pinia'importAppfrom'./App.vue'importrouterfrom'./router'//从这里引......
  • vue 引用第三方库 Swpier轮播图
    本文全程干货,没有废话1.使用npm安装swiper,使用save保存到packjson中npminstall--saveswiper2、把swiper看成是第三方库或者是组件,然后按照,引用,挂载组件,使用组件三步法。3、在script里的exportdefault上面引用这俩。import{Swiper,SwiperSlide......
  • Vue.js 动态组件与异步组件
    title:Vue.js动态组件与异步组件date:2024/6/2下午9:08:50updated:2024/6/2下午9:08:50categories:前端开发tags:Vue概览动态组件异步加载性能提升路由管理状态控制工具生态第1章Vue.js简介1.1Vue.js概述Vue.js是一个渐进式的JavaScript框架,用于构......
  • 八大排序:插入、希尔、冒泡、选择、快速、堆、归并、计数
    目录一、插入排序:二、希尔排序:三、冒泡排序:四、选择排序:五、快速排序:    1、霍尔法:    2、挖坑法:    3、前后指针法:    4、非递归的实现:六、堆排序:七、归并排序:1、递归实现:2、非递归实现:八、计数排序:一、插入排序:插入排序......
  • 基于SpringBoot+Vue毕业设计管理系统设计和实现(源码+LW+部署讲解)
    ......
  • java选择题
    1.以下哪项不是java基础类型()A.intB.booleanC.StringD.float正确答案:CJava的基础数据类型包括:byte、short、int、long、float、double、char和boolean。String不是一个基础数据类型,而是一个对象类型,它在Java中表示字符串。单选题2.假定AB为一个类,则执行“ABa......
  • (九)为分类和多项选择任务调优T5
    1、T5微调本笔记展示如何使用Huggingface的Transformers对T5模型进行微调,以解决不同的自然语言处理任务,使用了T5论文中提出的文本-文本方法。为了演示,我选择了3个非文本-文本问题,只是为了重申论文中所述的这种文本-文本框架有多广泛适用,以及如何在完全不改变模型的情况下用于不同......
  • 酱酒坤沙翻沙碎沙串沙-白酒怎样选择-懂得人都这样选
    在酱香型白酒的制作过程中,坤沙、碎沙、翻沙和窜沙是四种不同的酿造工艺,酱酒亮哥带你了解它们各自特点和之间的差异。首先是“坤沙”工艺,也被称为“捆沙酒”,这是一种正宗的酱香型白酒制作方法。怀庄之醉就是采用了这种工艺,在这个工艺中,原料高粱会保持大约20%左右的破碎率,以便更......
  • 什么是封装?为什么是要封装?
    封装是面向对象编程中的一种核心概念,它是将数据和操作数据的方法结合起来,形成一个整体,对外只暴露必要的接口,隐藏内部的具体实现细节。封装的目的是为了实现信息隐藏和代码的模块化,具体原因如下:1.隐藏实现细节:封装可以将类的内部实现细节隐藏起来,使外部无法直接访问和修改对......
  • 【AI Generated】从零学习Vue.js
    从零学习Vue.js目录引言准备工作Vue.js基础3.1Vue实例3.2模板语法3.3数据绑定3.4计算属性和侦听器3.5Class与Style绑定3.6条件渲染3.7列表渲染3.8事件处理3.9表单输入绑定Vue.js组件4.1组件基础4.2组件注册4.3父子组件通信4.4插槽4.5......