Vue3.0的新特性?

更快

  • 虚拟DOM重写
  • 优化slots的生成
  • 静态树提升
  • 静态属性提升
  • 基于Proxy的响应式系统

更小:通过摇树优化核心库体积

更容易维护:TypeScript + 模块化

更加友好

  • 跨平台:编译器核心和运行时核心与平台无关,使得Vue更容易与任何平台(web,Android,ios)一起使用

更容易使用

  • 改进的TypeScript支持,编译器能提供强有力的类型检查和错误及警告
  • 更好的调试支持
  • 独立的响应化模块
  • Compostion API

虚拟DOM重写

  • 期待更多的编译时提示来减少运行时开销,使用更有效的代码来创建虚拟节点
  • 组件快速路径 + 单个调用 + 子节点类型检测
  • 跳过不必要的条件分支
  • JS引擎更容易优化


    _20200413215034.png

优化slots生成

  • Vue3中可以单独重新渲染父级和子级
  • 确保实例正确的跟踪依赖关系
  • 避免不必要的父子组件重新渲染


    _20200413220405.png

静态树提升(Static Tree Hoisting)

  • 使用静态树提升,这意味着Vue3的编译器能够检测到什么是静态的,然后将其提升,从而降低了渲染成本
  • 跳过修补整棵树,从而降低渲染成本
  • 即使多次出现也能正常工作


    _20200413220427.png

静态属性提升

  • 使用静态属性提升,Vue3打补丁时将跳过这些属性不会改变的节点


    _20200413220807.png

基于Proxy的数据响应式

  • Vue2的响应式系统使用Object.defineProperty的getter和setter。Vue3将使用ES2015 Proxy作为其观 察机制,这将会带来如下变化:
  • 组件实例初始化的速度提高100%
  • 使用Proxy节省以前一半的内存开销,加快速度,但是存在地浏览器版本的不兼容
  • 为了继续支持IE11,Vue3将发布一个支持旧观察机制和新Proxy版本的构建


    _20200413221636.png

高可维护性

  • Vue3将带来更可维护的源代码。它不仅会使用TypeScript,而且许多包被解耦,更加模块化


    _20200413222913.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容