尤雨溪B站直播,Vue 3.0 Beta是一个值得体验的全新版本

2020 年 4 月 22 日

尤雨溪B站直播,Vue 3.0 Beta是一个值得体验的全新版本

4 月 21 日,在由前端圈组织发起的 B 站直播中,尤雨溪远程连线,分享了 Vue 3.0 Beta 版本的那些变化。本文是对其分享的简单总结。


Vue 3.0 Beta 来了!


4 月 17 日,Vue.js 作者尤雨溪宣布 Vue 3.0 正式进入 Beta 阶段


Beta 阶段的主要进度有:


  • 已合并所有计划内的 RFC;

  • 已实现所有被合并的 RFC;

  • Vue CLI 通过 vue-cli-plugin-vue-next 提供实验性支持;

  • 提供了一个用于 Vue 3 的最小化 webpack 配置,支持单文件组件。


官方库的支持状态:



尤雨溪表示,Beta 版本目前主要关注稳定性以及第三方库和工具的支持,如果你是第三方工具作者,现在就可以开始看 Beta 版本更新对自己带来的影响了。对普通用户来说,Beta 版本将带来性能、Composition API、Tree-shaking 支持、原生内置功能、TypeScript 支持、自定义渲染等值得期待的特性。


性能:重写 Virtual DOM,成倍提升



Vue 以其渲染速度而闻名。在比较测试中,它的性能优于其他框架。尤雨溪在直播中指出,3.0 Beta 版对 Virtual DOM 做了重写,带来了极大的速度提升。



Vue 团队基于 benchmark 所做的测试表明,Beta 版本更新性能提升了 1.3 到 2 倍,服务端渲染(SSR)速度提升 2 到 3 倍。但他同时指出,以上都是根据 benchmark 的实验数据得来,在实际的生产环境中肯定有所不同,以上性能提升仅供参考。


在直播过程中,尤雨溪还做了个小 Demo 演示 Beta 版本的一些有趣特性,此处不再赘述。



Tree-shaking



大多数的全局 API 和内部 Vue 辅助程序都会以 ES 模块导出的形式提供,因此能够实现摇树(tree-shakeable)优化(一种代码导入的优化技术,能够实现死代码消除,避免引入根本不会执行的代码)。另外,Vue 3 编译器也会为模板生成摇树优化的代码。


在此之下,Vue 的打包体积已经缩小到极致,纯净包体积 13.5kb,所有运行时功能包含在内都只有 22.5kb(比 Vue 2 功能更多,体积更小)。


Composition API



Composition API 类似于 React Hooks,提高了代码逻辑的可复用性,从而实现了与模板无关性,其响应式模块还可以和其他框架组合。


Fragments



不再限制 templates 中只能有单一根节点,render 函数也可以返回数组,可以更加专注于生产。


Teleport



本来打算叫 Portal,对标 React,因为 Chrome 的一项提案可能出现命名冲突,遂改名。


更好的 TypeScript 支持



Vue 3.0 用 TypeScript 做了重写,尤雨溪表示开发者不管是用 JS 还是 TS 都可以。在 Vue 3 内部使用 TypeScript 能够让开发人员从 Vue 的 TypeScript 定义中收益,同时还得到现代 IDE 的常见代码支持,如 Visual Studio Code / WebStorm。其次,即便不用 TypeScript,普通的 JavaScript 用户也能受益于现代 IDE 的代码智能特性。另外,尤雨溪认为 TypeScript 的 Vue 代码其实 90% 都是 JavaScript,因为 Vue 类型定义只允许开发人员在其代码的很少一部分上添加标注。


未竟之事


  • 文档、升级指南;

  • Vuex 以兼容为重点,API 没有大改动;

  • Router 有一些相关 API 改动;

  • CLI:插件;

  • 开发工具支持;

  • IDE 支持;

  • ……


2.x 版本还会有最后一个 release



Vue 3.0 什么时候能投入项目使用


尤雨溪最后表示,目前的 Vue 3.0 Beta 已经可以投入使用,但要求开发者自己对稳定性负责。他建议生产项目暂时不要上,新的、小的项目可以试水,真正要用起码要到年终(中?)。


2020 年 4 月 22 日 15:408148
用户头像
小智 InfoQ 主编

发布了 395 篇内容, 共 306.9 次阅读, 收获喜欢 1709 次。

关注

评论

发布
暂无评论
发现更多内容

看看别人是怎么面试蚂蚁金服的!社招Java面经分享

Java架构师迁哥

Java 阿里巴巴 面试 蚂蚁金服

打造一个全功能的浏览器

Daniel

为什么90%的“码农”做不了软件“架构师”?

Java架构师迁哥

Java 学习 架构师

区块链带来的技术创新和变革

CECBC区块链专委会

区块链技术 经济

DàYé玩转数据战略Step By Step

曲水流觞TechRill

数据中台 数字化

JAVA集合之ConcurrentHashMap

彭阿三

Java JAVA集合

线段树(Segment Tree)

zayfen

算法 线段树 segment tree

数字货币视域下的金融安全实现路径

CECBC区块链专委会

区块链 数字货币

聊聊前端 UI 组件:组件特征

欧雷

前端工程 组件化

一次注定失败的裸面

escray

ruby 面试题 面经 大龄程序员 面试经历

一篇文章搞定 Nginx 反向代理与负载均衡

哈喽沃德先生

nginx 负载均衡 反向代理 服务器 正向代理与反向代理

你在开发过程中使用Git Rebase还是Git Merge?

华为云开发者社区

git 华为 管理 代码

第二周-学习总结-框架设计原则

莫森

极客大学架构师训练营

原创视频 | 架构漫谈—如何创造复杂而有序的软件系统【含课件下载】

编程道与术

Java 编程 架构 软件开发 软件架构

浅谈滴滴需求响应式公交背后的技术

滴滴技术

滴滴技术 创新公交 路径优化

初学源码之——Spring IOC 应用

Java架构师迁哥

聊一下《技术力量-一线技术团队成功启示录》

Man

中台 研发管理

信息公交服务在滴滴的应用实践

滴滴技术

滴滴技术 人工只能 信息公交 路径优化

架构师训练营第三周学习总结

邓昀垚

极客大学架构师训练营

架构师第一期作业(第三周)

Cheer

作业

华为云推出全自研数据库,GaussDB(openGauss)能否撑起一片天?

华为云开发者社区

数据库 数据 gauss db

原创 | 使用JPA实现DDD持久化-O/R阻抗失配(2/2)

编程道与术

Java hibernate DDD JDBC jpa

倒计时!Pulsar Summit Asia 2020 演讲征集

Apache Pulsar

开源 云原生 pulsar Apache Pulsar 消息中间件

为什么推广ipv6以及网站ipv6改造基本步骤

MySQL从删库到跑路

Web IP 网络

StreamNative 宣布开源 MoP:Apache Pulsar 支持原生 MQTT 协议

Apache Pulsar

开源 云原生 mqtt Apache Pulsar 消息中间件

2020面试阿里字节跳动90%被问到的JVM面试题附答案

Java架构师迁哥

原创 | 正确区分属性和字段

编程道与术

Java hibernate 编程 软件开发 jpa

原创 | 使用JPA实现DDD持久化-JPA,Hibernate与Spring Data JPA

编程道与术

Java hibernate Spring C Data jpa

原创 | 使用JPA实现DDD持久化-JPA vs MyBatis

编程道与术

Java hibernate 编程 mybatis jpa

点对点音视频应用场景及优势

anyRTC开发者

音视频 WebRTC 直播 RTC 安卓

10多家公司的Java开发面试常见问题合集

Java架构师迁哥

尤雨溪B站直播,Vue 3.0 Beta是一个值得体验的全新版本-InfoQ