更快、更小、好调试、对原生的支持、易维护typescript
高层api变更
- 原生的支持class组件
- typescript编写,typescript的支持,可选是否使用
- 函数式组件将支持纯函数的书写形式
- render的变更
代码架构
- 拆分多个单独的包:清晰易维护的的架构,对复杂性进行隔离
监测机制
- 基于proxy的observer的实现:
- 对属性添加、删除的动做的监测
- 对数组基于下标的修改,对length修改的监测
- 支持Map/weakMap/Set/WeakSet
- 新observer支持:
- 公开用于建立observer的api,用于小型、中型应用的,轻量级、简单的跨组件状态管理
- 默认为惰性监测,减小监测的性能消耗
- 不可变监测对象
- 更良好的调试:renderTrakced和renderTriggered钩子,能够精确的追踪到一个组件发生从新渲染的触发时机和完成时机
其余运行时提高
- 更小巧:
- 设计之初就考虑到tree-shaking的支持,部分组件和api按需导入
- 更快:
- 虚拟Dom的挂在和patching
- 组件实例化速度
- Fragments/Portal
- 加强的slot机制
- 支持自定义渲染器render:使weex等保持与Vue的同步更加容易
编译器相关的提高