网站首页 > 博客文章 正文
这几天补了下 Vue3.0 来龙去脉, 将历届Vue Conf 看了一遍,简单整理成文字版奉献给大家。
2018年
特性
性能提升一倍,内存减少一倍
源码
Proxy 彻底替换 Object.defineProperty 中的Setter、Getter
静态代码渲染(减少JS运行时性能)
利用 Tree-Shaking 消除无用代码
TypeScript 支持更好
模块解藕
插件化设计
Source Map(带位置的Parser)
多端渲染支持
API
Observable、Effect 响应式数据监听API , 跨组件共享状态
RenderTrigger 调试更新机制(组件更新触发原因)
TS 支持(class、interface)
Hooks API 逻辑复用。 取代 mixins。
Time Slicing 。 主线程的任务太多,切分成一帧一帧,分给浏览器yield. 接收用户的输入。省去不需要的性能。
兼容性
IE11, 新的版本,不支持Proxy 的情况, 给出提示。
2019年
问题
Proxy IE11 死而不僵
Vurtual DOM 重写: 核心价值表达里。 旧树新树的比对。 遍历整个树。 组件层面上,性能有待优化。
Diff 算法, 提升Diff 5、6倍的提升
传统的 Diff 算法。React 动态JS, 使用时间分片。兼容render function
更强的表达力,无法取代。生成代码更简洁。
动态静态的切分。切成一个一个每一个静态的块 block tree。减少无谓的遍历。
TypeScript
撤销Class API, 装饰器不稳定。没有优势
API
function-based API
mixins问题(命名空间冲突、多个mixins 模版来源不明)
高阶组件问题(props 命名冲突、来源不明、额外组件实例性能消耗)
v-slot 作用域插槽(没有命名冲突, 数据来源清晰)
React Hooks 只调用一次、内联回调、闭包问题。
2020 年
callback 2018 - 2019
完成 RFCS
新的编译器
支持SSR
结束Beta
新的编译器
完整source map 支持
基于插件转换管道
layered design for higher order 编译器
猜你喜欢
- 2024-10-28 功能问题:如何解决跳同一路由组件时页面不变?
- 2024-10-28 vue3移除了$on,$off ,$once(vue 移除list中的项)
- 2024-10-28 图解 Vue 异步更新原理(vuex异步)
- 2024-10-28 VUE又要更新了,这框架真这么难学吗?
- 2024-10-28 Vue 3.3.6 发布了,得益于WeakMap,它更快了
- 2024-10-28 新闻在线全栈开发实战(vue3+springboot)之五-数据库信息的更新
- 2024-10-28 vue引入element-ui后界面空白(vue引入elementui不起作用)
- 2024-10-28 VUE3前端开发入门系列教程三:VITE热更新配置及WSL填坑
- 2024-10-28 vue3使用vuex 集中式管理状态数据
- 2024-10-28 移动端跨端方案:4.页面更新机制#前端
你 发表评论:
欢迎- 06-23MySQL合集-mysql5.7及mysql8的一些特性
- 06-23MySQL CREATE TABLE 简单设计模板交流
- 06-23MYSQL表设计规范(mysql设计表注意事项)
- 06-23MySQL数据库入门(四)数据类型简介
- 06-23数据丢失?别慌!MySQL备份恢复攻略
- 06-23MySQL设计规范(mysql 设计)
- 06-23MySQL数据实时增量同步到Elasticsearch
- 06-23MySQL 避坑指南之隐式数据类型转换
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)