VueConf China 2021 《Vue3生态进展-尤雨溪》 Reaction

大家好,我是若川。今天分享昨天Vueconf的一篇文章,来了解下Vue的生态进展。

另外今晚7点,Vuebeijing社区邀请了尤大会在视频号直播,可以加我微信 ruochuan12,告诉观看地址提前预约。
点击下方卡片关注我、加个星标,或者查看源码等系列文章。学习源码整体架构系列、年度总结、JS基础系列


文章尽可能的以图文形式还原尤大的直播内容(为了你有更好的观看体验,欧巴添加了一些相关链接)。还没观看的同学可以和大家一起来一波图文 Reaction,看过的同学也可以再梳理一遍重点内容,废话少说,让我们开始吧!

一些数据

上面的数据是截止到今年 4 月份的,与去年同期相比,增长很可观,整个的前端开发市场还在不断扩大。

2020.09.18 发布 Vue 3.0 One Piece

  • Vue 3.0[1]

Vue3 发布后官方并没有强推所有的用户都升级 Vue3,因为生态需要时间,生态里的工具、周边以及库都需要时间去兼容,Vue3 的一些新用法也需要时间去沉淀。

发布后主要在忙什么?

Vue Router 4.0 已稳定

  • github.com/posva[2]

Vuex 4.0 已稳定

  • github.com/kiaking[3]

(这位新加入的老哥,讲道理,豹纹有点帅。)

Vue Router 和 Vuex 早已经是 Vue 框架的一部分,它们的稳定是非常重要的。

Vue 3 生态逐步赶上

社区生态库也在逐步赶上。

  • Quasar[4]

  • Element Plus[5]

  • And Design Vue[6]

  • Vuetify[7]

  • Nuxt 3[8]

开发体验改进

构建工具 Vite

  • Vite 官方中文文档[9]

该知道的都知道了,不知道的慢慢了解。-- 姜云升

vue-cli 和 Vite 的主要区别在于:vue-cli 基于 webpack 二次开发,vue-cli 涵盖的范畴比较广,维护成本非常高。一些常见的配置变得复杂化了。

Vite 会继承 vue-cli 的优点,选择更简洁的路线,插件机制基于 Rollup 的 API,非常简洁直观。比起 Webpack,Rollup 的插件会好写很多,更加容易理解。

Vite 插件还可以支持定制开发服务器、middleware 以及对热更新的行为做细致的调整。

Vite or vue-cli ?

现有项目如果与 Webpack 强依赖,可能也没有办法简单的迁移过来。

VitePress 基于 Vue3 + Vite 的静态站生成器

可以理解为把 Vue2 换成了 Vue3,把 Webpack 换成了 Vite,就得到了 VitePress。

上面的第三点,React 的 MDX 也有同样的问题,不过 VitePress 把它解决了。

更多单文件组件编译阶段的优化

  • New script setup (without ref sugar) [10]

只要你的 script 标签带了 setup 属性,那么你声明的变量就可以直接在模板里使用。

而且,setup 可以帮助我们简洁很多代码,提升编码体验。

比如我们有 Comp.vue 和 App.vue 两个组件。

在 setup 下,App 引入 Comp 组件后可以直接使用,无需注册。

对比一下:

<style> 动态变量注入

  • SFC style CSS variable injection (new edition)[11]

点击 make it green 按钮后:

原理也很简单,使用原生 CSS 变量,将动态内容进行绑定,剩下就全部交给浏览器去做,所以运行时开销非常小。是个性价比很高的特性。

Vue Devtools beta channel(6.0)

不用在 Vue Devtools 两个版本之间来回切换了,新的 Vue Devtools 同时支持 Vue2/3。

这张图是开发时的截图,有些模糊,不过没关系。大致我们可以从图中看出:

性能调试面板可以帮我们找出哪个组件渲染特别慢,还有鼠标事件、键盘事件、组件事件、组件重渲染等。

最关键的是这个 Timeline 支持第三方插件对其进行扩展。

更好的 IDE/TS 支持

Volar[12] 是未来官方主推的 VS Code 插件,将会替代 Vetur(历史包袱)。

如上图,Volar 提供了几乎和 TSX 一样的开发体验,可以进行模板类型检查。

IDE 支持计划

未来会将 Vetur 的一些重要的功能以及一些新的探索整合到 Volar 上。

同时 Volar 的作者还开发了 vue-tsc,在 CI 上支持可以同时检查 TS 文件以及 Vue 文件里的 TS 类型错误,内部的实现适合 Volar 一样的。

当然,也会和其他的编辑器进行官方合作,提供支持。

不再支持 IE11

微软刚刚发布声明,IE11 将在 2022 年 6 月 retire,可见其推动 IE 用户改用 Edge 的决心。

  • Proposal for dropping ie11 support in Vue 3[13]

  • Drop IE11 support plan for Vue 3[14]

Vue3 + Vite = Modern by Default

Vue3 migration build

近期另一个重大发布,整体的内容比较大,预计在 3.1 发布。

Vue3 升级版:底子里是 Vue3,上层兼容 Vue2 的行为。大部分的功能都可以完全支持。

可以选择将整个应用可以跑在 Vue2 模式下,再将某几个单独的组件跑在 Vue3 模式下。

也可以反过来,整个应用跑在 Vue3 模式下,再将几个旧的 Vue2 组件移植过来,再慢慢的更改成 Vue3 的模式。

尽可能的给大家提供了兼容的灵活性。

目前文档在vue-compat[15]仓库里。public API 会尽可能的兼容,但是一些私有 API 确实没有办法完全兼容。文档中有详细的支持列表。

并提供了详尽的 step by step 的流程vue-hackernews-2.0[16]

3.2

因为上面的兼容版移到了 3.1,所以原有的 3.1 内容将会移到 3.2,不过预计也会很快发布,具体的细节会在发布时披露。

绝对需要 IE11 支持的话 请等待 2.7

预计在 Q3 2021 去做。

希望在 Q3 Vue2.7 发布之后,整个的 Vue2 到 Vue3 的升级过程会变得更加顺滑。可以先基于 Vite 切换到 Vue2.7,Compsition API 会直接内置,再切换到 Vue3 会更加简单。

Vue3 成为默认版本 by end of Q2 2021

将会在 2021 年 6 月底,将 npm 默认安装指向 Vue3,文档也会默认指向 Vue3 的文档,希望新的用户会以 Vue3 作为基准。

外链无法点开,可以点击阅读文章查看

最近组建了一个江西人的前端交流群,如果你也是江西人可以加我微信 ruochuan12 拉你进群。


················· 若川出品 ·················

今日话题

上次尤大在视频号直播有很多人表示错过了,这次我也帮Vuebeijing社区宣传下,避免小伙伴想看直播的错过。尤大今晚7点在#视频号:Vuebeijing 直播,也可以加我微信 ruochuan12,加群交流学习。欢迎在下方留言~  欢迎分享、收藏、点赞、在看我的公众号文章~

一个愿景是帮助5年内前端人走向前列的公众号

可加我个人微信 ruochuan12,长期交流学习

推荐阅读

我在阿里招前端,我该怎么帮你?(现在还能加我进模拟面试群)

若川知乎问答:2年前端经验,做的项目没什么技术含量,怎么办?

点击方卡片关注我、加个星标,或者查看源码等系列文章。
学习源码整体架构系列、年度总结、JS基础系列

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/275853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Plsql运行mysql脚本_oracle中PLSQL语句

1.set autot off 禁止使用autotrace命令 set autot on 这个命令包括exp 和 stat(执行语句、生成explain plan、生成统计信息) set autot trace 不执行sql语句&#xff0c;但(生成explain plan、生成统计信息) set autot trace exp stat 与上句同 set autot trace st1.set autot…

2019年,你需要关注这些Node API和Web框架

对于Node.js框架和开源软件来说&#xff0c;2018年是非常有趣的一年。开发者社区讨论了企业赞助对开源项目的作用以及如何维护那些没有经济支持却有数百万人使用的项目。同样&#xff0c;安全问题也得到了极大关注&#xff0c;一些流行的Node/JS软件包被劫持&#xff0c;Github…

ai创造了哪些职业_关于创造职业的思考

ai创造了哪些职业When I was growing up, the idea of a creative career wasn’t an option.当我长大时&#xff0c;创意事业的想法不是一个选择。 I had enjoyed doodling, arts and crafts as a kid, so as I grew up, it was a natural transition into Photoshop and lat…

Windows Mobile,用C#更改网络连接(SSID、IP Address、Subnet Mask、Gatew... (转)

前几天在做一个改变PDA无线网络连接的SSID和IP的功能是发现了一个好东西OpenNETCF Framework使用OpenNETCF.Net包&#xff0c;实现了任意改变PDA无线网络连接的功能。并且不需要Reset PDA。现在正在做一个IP Manager For Windows Mobile的小程序。实现搜索当前网卡可见的SSID、…

一文读懂vuex4源码,原来provide/inject就是妙用了原型链?

1. 前言你好&#xff0c;我是若川&#xff0c;欢迎加我微信ruochuan12&#xff0c;加群长期交流学习。这是学习源码整体架构系列 之 vuex4 源码&#xff08;第十篇&#xff09;。学习源码整体架构系列文章(有哪些必看的JS库)&#xff1a;jQuery、underscore、lodash、sentry、v…

Spring4.3x教程之一IOCDI

SpringIOC也称为DI&#xff0c;对属性内容的注入可以通过属性的setXXX方法进行也可以通过构造方法进行&#xff0c;当然还可以使用工厂模式进行属性内容的注入。 什么是DI&#xff1f;什么是IOC&#xff1f; DI&#xff1a;Dependency Injection依赖注入 其实一个类中的属性就是…

战神4 幕后花絮 概念艺术_幕后花絮:品牌更新的背后

战神4 幕后花絮 概念艺术Under the Hood gives you an inside look at different parts of Waze — straight from the people working on them every day.在引擎盖下&#xff0c;您可以深入了解Waze的不同部分-直接来自每天进行工作的人员。 Traffic is the worst. It makes …

C#日期控件(js版)

js 脚本代码: <script type"text/javascript"> //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- // 这是一个日历 Javascript 页…

python第三周测试_python第三周小测

1.读取一个文件&#xff0c;显示除了井号(#)开头的行意外的所有行# -*- coding: utf-8 -*-"""Created on Tue May 28 09:37:08 2019author: Omega_Sendoh"""#打开文件f open("install-sh","r")#读取文件的所有行&#xff0…

「Vueconf」探索 Vue3 中 的 JSX

大家好&#xff0c;我是若川。今天再分享 Vueconf 的一篇文章。另外 Vueconf 主办方提供的录播链接是&#xff1a; https://www.bilibili.com/read/mobile?id11408693&#xff0c;感兴趣可以复制观看。点击下方卡片关注我、加个星标。学习源码整体架构系列、年度总结、JS基础…

安卓加载asset中的json文件_Android解析Asset目录下的json文件

在app module中的src/main/assets目录下我们准备了两个json文件&#xff1a;destination.json如下&#xff1a;{"main/tabs/sofa": {"isFragment": true,"asStarter": false,"needLogin": false,"pageUrl": "main/tabs…

一文搞懂 Promise、Genarator、 Async 三者的区别和联系

非985/211大学毕业&#xff0c;软件工程专业&#xff0c;前端&#xff0c;坐标&#xff1a;北京工作三年多&#xff0c;第一家人数 30 多人的创业公司&#xff0c;1 年多。第二家属于前端技术不错的公司&#xff0c;2 年多。01我是一个喜欢在技术领域“折腾”的人&#xff0c;技…

dynamic 仪表板_仪表板完成百万美元交易

dynamic 仪表板问题 (The Problem) Anybody dealing with tech products and data-focused services runs into the same fundamental problem: what you do is technical but non-technical people control the budget. In other words:任何处理高科技产品和以数据为中心的服务…

checkStyle -- 代码风格一致

download page: http://sourceforge.net/project/showfiles.php?group_id80344&package_id107587 转载于:https://www.cnblogs.com/xuqiang/archive/2010/10/26/1953431.html

在线VS Code阅读源码神器 github1s

大家好&#xff0c;我是若川。github1s大部分人知道了&#xff0c;但还是有一部分不知道。我在掘金发过沸点和知乎发过想法还是有挺多人不知道&#xff0c;所以再发公众号推荐下。点击下方卡片关注我、加个星标。学习源码整体架构系列、年度总结、JS基础系列近日&#xff0c;一…

lenze变频器怎么更改地址_英威腾变频器GD300维修

英威腾变频器GD300维修英威腾变频器GD300维修41. 问题&#xff1a;变频器跟PLC采用485通讯不上答&#xff1a;1.检查变频器的通讯地址是否正确&#xff0c;如果采用通讯启动&#xff0c;检查P0.01是否为1&#xff0c;如果通过通讯设定频率&#xff0c;检查P0.068&#xff0c;P0…

代码设计的基础原则_设计原则:良好设计的基础

代码设计的基础原则As designers, it’s our goal to pass information in the most pleasing way possible. Starting out, there’s a wealth of literature to read and videos to watch that can get quite overwhelming to take in at a glance. People take different ro…

java金额类型_Java中存储金额用什么数据类型?

很早之前, 记得一次面试, 面试官问存储金钱用什么数据类型? 当时只知道8种数据类型(boolean, byte, short, int, long, float, double, char)的我, 回答了double, 因为我觉得double是双精度类型, 最适合, 但是面试官告诉我应该用BigDecimal! 最近在做支付的项目, 才对这种数据…

React Hooks 不知道怎么学?看这篇

大家好&#xff0c;我是若川。最近跟朋友聊技术&#xff0c;发现越来越多的大厂&#xff0c;都优先考虑用 React 做项目&#xff0c;在面试中也经常会考察对 React Hooks 的理解。其实&#xff0c;我一直觉得&#xff0c;React 才是前端的正确打开方式。当然&#xff0c;并不是…

ui原型设计工具_UI设计师的工具包,用于专业模型,原型和产品插图

ui原型设计工具This is a followup to my previous article 这是我上一篇文章的后续 visual tools for UX Designers视觉工具Tools don’t make designs better– you do! It doesn’t matter if you paid a lot of money for the latest software, or if you simply have a p…