Vue3 相比 Vue2 的整体变化,可以分为几大类:
- 源码优化
- 性能优化
- 语法 API 优化
- 引入 RFC
源码优化 体现在使用TS重构了整个Vue源码,对冷门的功能进行了删除,并且整个源码的结构变成了使用Monorepo进行管理,这样颗粒度更细,不同的包可以独立测试发布。用户也可以单独引入某一个包的使用,而不是必须引入Vue。
性能上的优化 整个vue3最核心的变化,通过响应式、diff算法、模板编译,vue3的性能相比于vue2有质的飞跃,基本上将性能这一块做到了目前的极致,所以vue的新项目交易都使用vue3来搭建。
不过性能层面的优化,开发者无法直接感知,但开发者能够直接感知到语法上的优化,例如vue3提出的compositionApi,用于替代vue2时期的optionsApi。这样能够让功能逻辑更加集中,无论是在阅读还是修改都更加方便。另外compositionApi让代码复用的颗粒度上更细,不需要在像以前一样使用mixin复用逻辑,而是推荐使用组合式函数来复用逻辑。
不过Vue3也不是完全废弃了optionsApi。在Vue3中,OptionsApi成为了一种编码风格。
最后就是引入RFC,尤雨溪和核心团队广泛采用了RFC的流程来处理新功能和重大更改。