【VueConf 2022】尤雨溪:Vue的进化历程
发布网友
发布时间:2024-10-21 23:27
我来回答
共1个回答
热心网友
时间:2024-11-13 09:57
12 月 10 日,第五届 Vue.js 开发者大会(VueConf 2022)通过线上直播形式举行。Vue.js 的创作者尤雨溪带来了一场名为《Vue 的进化历程》的主题演讲。以下是演讲的主要内容。
Vue 初始阶段(2013-2015)被视为库阶段。那么库与框架有何区别呢?库主要嵌入到现有体系中,用于简化操作。而框架则定义了一套更广泛的工程实践,遵循最佳实践,使用配套工具遵循完整规范。因此,当时的 Vue 仅仅是一个库。
库阶段的重要里程碑:
库阶段的设计重点:
库阶段的特征:
2015-2016 年,Vue 转入框架阶段,以 1.X 版本为发展目标。
框架阶段的重要里程碑:
框架阶段的设计重点:
2016-2019 年,Vue 进入通用框架阶段。
通用框架阶段的重要里程碑:
Vue 2.0 阶段的设计重点:
这一阶段的一个重要示例是:vue-hackernews-2.0,当时这个示例具有重要的意义:
2019 年至今,Vue 进入编译/运行时混合阶段。尽管 2.0 版本引入了编译,但编译与运行时的结合相对较浅,编译器编译出 Virtual DOM 渲染函数后就结束了,编译器对运行时了解不多,运行时对编译器也缺乏认知。因此,3.0 版本的主要目标是让编译器和运行时都属于框架的一部分,它们本身就是耦合的。在耦合的前提下,让编译器为运行时提供更多信息,让运行时了解编译器提供的信息。
编译/运行时混合阶段的重要里程碑:
Vue 3.0 重构初期的重点如下:
Composition API 的意义:
Vite 的意义:
Vue 3 目前定义的框架范畴:
整体趋势是向编译/运行时混合模式进化:
Vue 团队未来的工作将以 API 的稳定性为首要目标,重点将放在不影响使用方式的改进上。不打算引入像 React Server Components 这样需要与服务器强绑定的特性。
Vapor mode:相同的模板/组件语法可以编译成完全不同的输出,这个输出不再依赖 Virtual DOM 运行时,而是针对 Web 性能进行优化,可以提供极致的性能和内存占用,还可以在某些情况下实现零成本组件抽象,即当组件仅使用了基本 API 时,将其编译成一个不需要组件实例的状态,从而节省组件实例的开销。在 Vapor mode 的使用方式上,它可以无缝嵌入到现有的应用中,兼容基于 Virtual DOM 的第三方库。如果是全新的项目,可以启用 Vapor-only,这样既不兼容 Virtual DOM,也丢弃了相关的运行时,适合对性能有极致要求的场景。