采集自YouTube录像地址 ,理解作者Even You的初衷和历程,有助于理解Vue3的设计方向和解决哪些问题。本文做个简单总结,有兴趣还是去看看原视频吧(时长1小时)。
回顾部分
阶段一:构思阶段 2018.09-2019早期(class,TS,hooks,time slicing)
- 2018-2-26 构思作为一个开发者可能需要哪些功能,面对目前的哪些问题
- 2018-9-12 尝试所有可能有用的JS技术 (比如Reflect Proxy) ,此时还要同时维护Vue 2.x
- 2018-9-19 创建了
vue-next仓库 - 2018-9-21 在
Vue.js伦敦大会宣布了Vue 3(他自己都没有意识到在2018年就已经开始着手Vue 3了)
阶段二:开放性尝试阶段 (此阶段的很多idea没有最终被采用)
- 2019-1-4 发布RFC 进行开放性讨论
- 2019-2-27 发布
Class APIRFC - 2019-3~5 重新思考和研究了阶段一的一些问题(特别是Render 策略),并决定放弃
Class API
阶段三: 实现阶段
- 2019-5-6,重写了渲染逻辑(
patch flag和block tree optimization) - 2019-6-7, 发布
Function APIRFC,经过反复讨论,确定下来 - 2019-6~8
Composition API设计和尝试 - 2019-8-16 发布
Composition APIRFC - 2019-9 适配2.x版本的
Options API支持新compiler - 2019-10 实现
v-model - 2019-11 实现
Transition系统 - 2019-12 开发工具(SFC , HMR (hot module reload))
- 2020-1-2 发布3.0.0 alpha版本
- 2020-1~4 实现SSR (服务端渲染,使用了很多新技术提升了2到3倍的性能)
- 2020-4-16 发布 3.0.0 beta.1 版本
- 2020-4~7 修复公测版本的问题,以及开发
RouterCLIVuexESLint-plugins等,写文档。 - 2020-7-17 发布 3.0.0-rc.1 版本
总结:
- 2年
- 37RFC
- 2682 次提交
- 628 次Pull Requests
- 99 贡献者
技术部分
what's New in Vue 3
- 更好的工程化
- TS支持
- 更快
- Proxy响应式系统
- 针对性的编译系统
- 更小
- Tree-shaking (rollup)
- Compile-time flags
- 更优秀的代码体积
- Composition API
- 更好的开发体验
- 全新的单文件组件
内部模块:
借助模块化功能,实现了对Vue的拆分,所以允许我们仅使用部分模块,比如仅使用@vue/reactivity来实现响应式。
(在我看来终于不用侵入式的兼容Weex了,源码真是干净多了)
(待续。。。)
同时推荐一下我的其他文章:
- 自动管理keep-alive组件 juejin.cn/post/691816…