前言

Evan You(尤雨溪)在2018年11月16日早上在 Vue Toronto 的主题演讲中预演了 Vue 3.0的新特性 。利用现代浏览器支持的新功能,Vue 3 将成为我们已经了解和喜爱的 Vue.js 强大的的改进版本。

大概可以分为:

  • 更快
  • 更小
  • 更易于维护
  • 更多的原生支持
  • 更易于开发使用

完整的PPT请点击:跳转

翻译

更快

1、虚拟 DOM 重写,mounting和patching的速度提高100%

2、更多的编译时的提示来减少运行时的开销

3、组件快速路径+单个调用+子类型检测

  • 跳过不必要的条件分支
  • JS引擎更容易优化

4、优化插槽的生成

  • 确保实例正确的跟踪依赖关系
  • 避免不必要的父子组件重新渲染

5、静态树提升

  • 跳过修补整棵树,从而降低渲染成本
  • 即使多次出现也能正常工作

6、静态属性提升

  • 跳过不会改变节点的修补过程,但是它的子组件会保持修补过程

7、内联的事件提升

  • 避免因为不同的内联函数标识而导致的不必要的重新渲染

8、基于Proxy的观察者机制,全语言覆盖+更好的性能

  • 目前vue使用的是Object.defineProperty 的 getter 和 setter
  • 组件实例初始化的速度提高100%
  • 使用Proxy节省以前一半的内存开销,加快速度,但是存在低浏览器版本的不兼容
  • 为了继续支持 IE11,Vue 3 将发布一个支持旧观察者机制和新 Proxy 版本的构建

更小

  • 更友好的tree-shaking
  • 新的core runtime 压缩后大概 10kb

更加可维护

  • Flow -> TypeScript
  • 包的解耦
  • 编译器重写
    • 可插拔的架构
    • 提供更强大的IDE支持来作为基础设施

提供更方便的原生支持

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

更方便的开发

  • 暴露响应式的api
  • 轻松识别组件重新渲染的原因

  • 提供对TypeScript的支持(TSX)

  • 更友好的warning traces

    • 现在包括功能组件
    • 可检查的props
    • 在更多的警告中提供可用的traces

实验性的 Hooks API

类似react hook的API,详情可以见

实验性的 Time Slicing 支持

当许多组件同时尝试重新渲染时,浏览器都会变得很慢,利用Time Slicing将JS执行分为几部分,此时,用户的交互不会被阻塞

参考

www.css88.com/archives/10…

最后

推荐一下自己的个人公众号:前端精读(每日定时推送一篇前端好文)

最全的Vue3.0新特性预览(翻译)相关推荐

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

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

  2. Flink 1.14 新特性预览

    简介: 一文了解 Flink 1.14 版本新特性及最新进展 本文由社区志愿者陈政羽整理,内容源自阿里巴巴技术专家宋辛童 (五藏) 在 8 月 7 日线上 Flink Meetup 分享的<Fl ...

  3. 【Flink】Flink Flink 1.14 新特性预览

    1.概述 转载:Flink 1.14 新特性预览 简介: 一文了解 Flink 1.14 版本新特性及最新进展 本文由社区志愿者陈政羽整理,内容源自阿里巴巴技术专家宋辛童 (五藏) 在 8 月 7 日 ...

  4. Apache Flink Meetup 8.7 深圳站,企业实践 + 1.14 新特性预览

    时隔 10 个月,Apache Flink Meetup 又来到了深圳这个与 Flink 契合度很高的城市.正如改革和创新是深圳的标签,Apache Flink 给技术开发者们带来的,也是摒弃旧的 & ...

  5. Vue3.0新特性及使用方法

    1.1创建Vue3.0项目 通过脚手架 vite 安装: npm init vite-app hello-vue3 # OR yarn create vite-app hello-vue3 Vite目 ...

  6. vue3.0新特性及用法

    1.性能上提升1.3-2倍 2.按需加载 和 compsition api(组合api) createApp 在 Vue 3 中,改变全局 Vue 行为的 API 现在被移动到了由新的 createA ...

  7. Silverlight 5 Beta 新特性预览

    MIX11大会昨天刚刚结束.第二天核心Session包含三个部分:Windows phone 7/Silverlight 5 Beta/Kinect for Windows SDK.在整个全程直播中. ...

  8. php7 str split,PHP7.4新特性预览

    虽然PHP 7.4还未发布,但是RFC已经确定了该版本的一些新性.这个版本的改动有点多,有很多实用性功能.发布日期可能在2019年12月左右,但尚待确认.让我们看看有那些地方的改动. 短闭包 RFC ...

  9. python新特性_Python3.6正式版新特性预览

    按照Python官网上的计划,Python3.6正式版期望在2016-12-16号发布,也就是这周五.从去年的5月份开始,Python3.6版本就已经动手开发了,期间也断断续续的发布了4个Alpha版 ...

  10. input change获取改变之前的值和改变之后的值_使用Vue3.0新特性造轮子 WidgetUI3.0 (Input输入框组件)

    我们先看看组件效果图: 基本用法 type属性(type="password") 占位符(placeholder="请输入") 带清除按钮(clear) 输入限 ...

最新文章

  1. Web前端学习-第三课JavaScript篇
  2. html js文件域val,js实现文件上传表单域美化特效
  3. c#调用Matlab的参数传递
  4. idea去掉无用import类_@Import注解的魅力
  5. [Python人工智能] 十.Tensorflow+Opencv实现CNN自定义图像分类案例及与机器学习KNN图像分类算法对比
  6. RMAN删除归档日志不释放问题
  7. Delphi应用程序在命令行下带参数执行返回命令行提示的问题
  8. 使用VS2012内建的C++测试架构进行单元测试
  9. Sharepoint学习笔记—Ribbon系列-- 5. 在Ribbon中添加新控件(针对用户自定义Tab)
  10. ORACLE HANDBOOK系列之十:字符集、编码以及Oracle的那些事
  11. 关于body.clientHeight,body.clientWidht获取的不是可视高度的问题
  12. 企业微信支付提示请在微信客户端打开链接_微信h5支付?
  13. java获取图片流_JAVA IO流读取图片的问题
  14. SparkRDD优化(二)之SparkRDD共享变量(广播变量,累加器)
  15. 透过招股书看知乎的价值投资逻辑
  16. 进销存设计与分析_库存明细表(14)
  17. dsp图像处理Prewitt算子边缘检测
  18. 论文总结3-Sub-center ArcFace: Boosting Face Recognition by Large-scale Noisy Web Faces
  19. htc android sd卡,【HTC T328W】Android系统中SD卡各文件夹功能详解
  20. 屏蔽百度搜索结果中的广告

热门文章

  1. ASP.NET Core部署在IIS上
  2. SQL Server2012数据库的备份和还原
  3. 将button改为圆形(swift/oc/xcode/iOS)
  4. Windows Phone 程序发布过程
  5. Bret Victor(苹果 UI 设计师):互动的未来不应只在手指上
  6. Android 调整控件位置和大小(以textView为例,并设置字体与背景颜色)
  7. cobbler高可用方案
  8. python面向对象中类对象、实例对象、类变量、实例变量、类方法、实例方法、静态方法...
  9. python字典按照value进行排序
  10. 解决Oracle EM 乱码问题