Vue船新版本Vue 3.0 在9月18日激情发布!!
作为前端年度盛典,程序远纷纷在朋友圈发表了自己的看法。大佬在朋友圈是这样的:
而我在朋友圈是这样的:
本次Vue 3.0的发布会受到疫情影响改为了线上发布。发布会视频传送门在此。👉传送门。本次发布会带来了什么新内容呢,快来一起看看吧!
首先,尤大介绍了vue3的原型构建开始于2018年2月,在9月创建了vue-next repo。
之后的半年时间里,尤大尝试了class API、TypeScript、hooks等一系列新的技术点,为v3版本打下基础。2019年初,Vue3开启了RFC阶段,征集了class API的意见(最后废弃),之后的两个月,尤大开始尝试建立全新的渲染策略。
丢掉class API的想法后,尤大重写了渲染逻辑,主要集中在patch flag和block tree优化上(vue3的渲染更新策略只关注有动态元素的节点,提升了视图更新的性能)。在2019年8月,尤大提出了composition API的概念,这是Vue 3中最受关注的一个新功能点。
到了2020年,alpha版本发布后,尤大开始关注服务端渲染的问题。
之后,推出了另一个重磅产品Vite,新Vite使用了ES Module,有望成为下一代构建工具。
尤大总结了2年的新版本开发工作,发了37个RFC,做了了2682次提交,处理了628个PR,另外,有99个程序员为这个项目贡献了自己的一份力量。
Vue 3为我们带来了哪些新功能呢?尤大用一张图向我们简要概述了Vue 3新的变化。首先Vue 3具有更好的可维护性,更好地支持了TypeScript,内部更加模块化;速度方面,Vue 3使用了proxy作为响应式的实现方法(IE被丢进了历史的垃圾堆);在打包上,使用了tree-shaking机制使得打包后的代码体积更小;最后带来了Composition API提升了组件复用及可维护性,优化了单文件组件。
Vue 3的内部采用了更为模块化的管理方式(应该是借助了强大的mono repo),使得Vue 3内核不再是一个黑箱。内部模块主要分为compiler、runtime和reactivity部分。
Vue 3对一些高级用法提供了全新的解决方案,如更好支持了编译插件(如国际化插件i18n)、支持自定义渲染器(如原生、WebGL和终端)、提供了独立的响应式系统。
尤大介绍了全新改进的虚拟DOM更新机制,Vue会标记静态和动态的DOM节点,并且只会更新动态的节点,大大提升了更新效率。
接下来,尤大介绍了Tree-shaking带来的全新体验。
展示了Vue 3中使用TypeScript的案例(看了下这个小案例,除了使用declare关键字外,没有太多的变化)。
尤大介绍了之后的工作进程,在2020年底,会把子项目都提升至稳定版本,支持IE11(黑人问号???)。
最后是大家关系的Vue 2问题。Vue 2.7将会在2021年的Q1季度发布,兼容3.x的新特性,LTS维护18个月,不出意外应该是Vue 2的最后一个版本了。
um?有什么奇怪的东西乱入了。。。。
最后祝大家飞速掌握Vue 3,撸出更坚挺的代码~~