点击上方'IT平头哥联盟'关注与您一起成长~

尤大昨天在 Vue Toronto 的主题演讲中预览了 Vue 3 。通过利用现代浏览器支持的新功能,Vue 3 将成为我们已经了解和喜爱的Vue.js 的改进版本。

我们期待的 Vue 3 将会是:

  • 更快

  • 更小

  • 更容易维护

  • 更加友好

  • 更容易使用

当然,这个是每个框架、库的最终目标。

更快

虽然 Vue 已经非常快,但尤大认为 Vue 3 会更快。下面几点将是如何去做的:

1. 虚拟DOM重写

虚拟 DOM 从头开始重写,我们可以期待更多的编译时提示来减少运行时开销。重写将包括更有效的代码来创建虚拟节点。

2. 优化 slots 的生成

目前在 Vue 中,当父组件重新渲染时,其子组件也必须重新渲染。使用Vue 3,可以单独重新渲染父级和子级。

3. 静态树提升(Static Tree Hoisting)

使用静态树提升,这意味着 Vue 3 的编译器将能够检测到什么是静态的,然后将其提升,从而降低了渲染成本。它将能够跳过 patching 整棵树。

4. 静态属性提升
此外,我们可以期待静态属性提升,其中 Vue 3 将跳过不会改变的 patching 节点。

5. 基于 Proxy 的 Observation

目前,Vue 的响应式系统是使用带有 Object.defineProperty 的getter 和 setter。但是,Vue 3 将使用 ES2015 Proxy 作为其观察机制。这消除了以前存在的警告,使速度加倍,并使用了一半的内存。

为了继续支持 IE11,Vue 3 将发布一个支持旧观察机制和新代理版本的构建。

更小

Vue 已经非常小了,在运行时压缩了大约 20kb。但我们可以预期它会变得更加紧凑,对于新的核心运行时而言,为 10kb gzi 压缩。这将在很大程度上通过消除您不使用的库(也称为Tree Shaking)来实现。例如,如果您没有使用过渡元素,则不会包含它。

使其更具可维护性

虽然大多数 Vue 开发人员都没有在库本身上工作,但很高兴知道 Vue 3 将带来更可维护的源代码。它不仅会使用 TypeScript,而且许多包将被解耦,使所有内容更加模块化。

更容易与原生结合

运行时核心也将与平台无关,使得Vue可以更容易地与任何平台(例如Web,iOS或Android)一起使用。

运行时核心也将与平台无关,使得Vue可以更容易地与任何平台(例如Web,iOS或Android)一起使用。

想想 React

让您的生活更轻松

Observer 模块已被解压缩到自己的包中,允许您以新的方式使用它:

跟踪重新渲染的位置也会更容易。在他的演讲中,尤大做了一些实时编码,并展示了如何跟踪 Vue 应用程序(使用下面的代码)来找出触发组件重新渲染的内容。这在更大的应用程序和性能微调中非常有用。

Vue 3.0 还具有改进的 TypeScript 支持,允许在编辑器中进行新级别的类型检查和有用的错误和警告。

1. Hooks API

当我们需要在 Vue 中共享两个组件之间的行为时,我们通常使用Mixins。然而尤大正在尝试使用 Hooks API 来避免来自 Mixins 的一些问题,并且更适合使用惯用的 Vue 代码。

尤大还是快,React 刚出觉得还不错,咱 Vue 也写一个。

2. 时间切片支持

当您有许多组件同时尝试重新渲染时,任何浏览器都可以开始爬行,从而使用户体验变得困难。

尤大展示了他正在尝试使用 Time Slicing,如果要处理用户交互,将 JS 执行分解为可以提供给浏览器的段。

总结

最后说下看法,尤大的愿景很好,基本是就是每个框架、库的愿景,差不多就是奥运精神:更高、更快、更强。

Vue 3.0 的改进,说实话,个人感觉没有太大的创新,很多还是更 React 学的,所以呢,要问我哪个框架更有前景,我还是觉得 React 更有前景,思想超前,每一个重大更新都是激动人心。

但是我没说 Vue 不好,github 上这么多星星也体现了他的价值,就想某宝和 PDD,PDD 上有的某宝也有,为啥很多人还要去 PDD 买呢,因为便宜,所以给消费水平低的这群人带来了很大便利。

解释:我没有说把 PDD 假货的事情拿来做比喻,仅仅是他们的盈利模式,受众人群。

希望各位 Vue 粉加油,学不动也要学,前端就是这样。

如果想获取原 PPT,可在后台回复 PPT,我也是在 twitter 上看到的,没事儿可以多逛逛 twitter,少逛点微薄。

最后希望大家多多关注 IT平头哥联盟

用心分享 一起成长 做有温度的攻城狮

推荐阅读

规范化测试流程,看这篇就够了~

浅谈easy-mock 最好的备胎没有之一

如何给localStorage设置一个过期时间?

那些年面过的坑,都在这里了~

尤大大多伦多Vue 3.0 的深情告白相关推荐

  1. 尤雨溪 vue 3.0 Bate

    直播回放观看,尤雨溪 vue 3.0 Bate视频 B站观看入口:https://www.bilibili.com/video/BV1Vk4y1R7nb?from=search&seid=16 ...

  2. 尤雨溪携手字节前端专家,畅聊 Vue 3.0 前端技术新趋势

    前端这个技术领域,在应用化以后,涵盖的内容越来越广--纯表现层.应用实现层.应用架构层.基础设施层到改进开发范式的理念层,都有太多可以去钻研的技术点,衍生出了无数前端开发的发展路线."别更新 ...

  3. 重磅!尤雨溪公布 Vue 3.0 开发路线

    web前端教程 用大白话,来讲编程 在上周的 Vue.js 伦敦大会上,Vue.js 作者尤雨溪简要介绍了 Vue 下一个主要版本要发布的内容,9 月 30 日,尤雨溪在 medium 个人博客上发布 ...

  4. Vue 3.0 到底好在哪里?(尤雨溪点赞文)

    前言 这几天 Vue 3.0 Beta 版本发布了,本以为是皆大欢喜的一件事情,但是论坛里还是看到了很多反对的声音.主流的反对论点大概有如下几点: 意大利面代码结构吐槽: "太失望了.杂七杂 ...

  5. jsx怎么往js里传参数_实践Vue 3.0做JSX(TSX)风格的组件开发

    作者:莫夭 转发链接:https://zhuanlan.zhihu.com/p/102668383 前言 我日常工作都是使用React来做开发,但是我对React一直不是很满意,特别是在推出React ...

  6. vue.js2.0 新手开发_VueJs2.0建议学习路线

    最近VueJs确实火了一把,自从Vue2.0发布后,Vue就成了前端领域的热门话题,github也突破了三万的star,那么对于新手来说,如何高效快速的学习Vue2.0呢. 既然大家会看这篇文章,那么 ...

  7. vue 3.0 正式版_Vuejs 3 Release:One Piece. Vuejs 3.0 正式版发布!代号:海贼王

    Vuejs 3.0 在北京时间2020年9月19日凌晨,终于发布了 3.0 版本,代号:One Piece.此次vue3.0 为用户提供了全新的 composition-api 以及更小的包大小,和更 ...

  8. 老子学不动系列:Vue 3.0 新特性预览

    尤大昨天在 Vue Toronto 的主题演讲中预览了 Vue 3 .通过利用现代浏览器支持的新功能,Vue 3 将成为我们已经了解和喜爱的Vue.js 的改进版本. 我们期待的 Vue 3 将会是: ...

  9. 【视频】Vue作者分享:Vue 3.0 进展

    web前端教程 用大白话,来讲编程 上周六在杭州,由w3ctech.前端圈共同举办的中国第二届VueConf落下帷幕,来自全国各地的前端爱好者共聚一堂,畅聊Vue,畅聊未来. 我们一起来听听 Vue. ...

最新文章

  1. do{}while(0)用法
  2. bps、Bps、pps
  3. 理解微信小程序Wepy框架的三个事件交互$broadcast,$emit,$invoke
  4. jvm内存模型_JVM内存模型的相关概念
  5. Linux使用rostopic echo将rosbag文件转换成csv或txt文件以及sh脚本批量化操作
  6. 朋友圈发送照片泄露位置?微信:P 完再发!
  7. 谷歌发布 iOS 黑客工具软件,或导致 iOS 11 被越狱
  8. 删除数组中重复的数字
  9. c语言代码大全表解释_C语言解惑圈子更新(20191201)
  10. biopython有什么用_Biopython简介
  11. SSM搭建-Spring第一个Spring HelloWorld(2)
  12. bdtrans 一个命令行下的机器翻译工具
  13. PS27种图层混合模式
  14. HCIP第十六天(VLAN IF接口,STP生成树协议,BPDU的配置)
  15. 房屋征收拆迁信息化管理平台
  16. indexedDB基本使用(内含案例)
  17. 最浅显易懂的数据库索引讲解
  18. 微商靠什么引流?微商有哪些平台可以精准引流?
  19. [python] say hi
  20. 高性能MySQL-MySQL架构

热门文章

  1. 年终奖与年底双薪一样吗?千万别混淆
  2. Android引入Apollo(阿波罗)
  3. 标志寄存器CF,OF,SF,ZF,PF以及相关练习
  4. 小白开发微信小程序49--本地服务器部署测试小程序
  5. python常用函数(持续更新)
  6. 请基于matlab将pdf格式的图片批处理转换为600dpi的tif格式文件,并裁剪为5736*2607的尺寸保存为600dpi的tif文件...
  7. Randomized Algorithms: Median Finding
  8. TiDB 在 UCloud 公有云上的实践
  9. i9 10885h和i7 10875h 哪个好
  10. java flip方法_Python numpy.flip函数方法的使用