VueConf 2019尤雨溪演讲总结

演讲视频来源:https://v.youku.com/v_show/id_XNDIyNTA1MDU2OA==.html?refer=seo_operation.liuxiao.liux_00003303_3000_Qzu6ve_19042900&_time=0
转载地址:https://cloud.tencent.com/developer/article/1446634
发展现状
Chrome DevTools 有约 90 万的周活用户,React 相比有 160 万。Evan 推荐用 Chrome DevTools 来预测 Vue 的项目的真实开发者数据。Vue 有全球化的影响力,在非常多的国家有相应的活动,可以通过 https://events.vuejs.org 查找。State of JavaScript 2018 年统计说明在前端框架的满意度是第一名(91%),并在 Stack Overflow 的数据里体现是第二受欢迎的前端框架。

在这里插入图片描述

团队
现在 Vue 有 20 人活跃的开发者,大部分日常工作与 Vue 相关,完全独立运营,而成本主要来自于赞助商,三年来稳步增长。蒋豪群(@sodatea)全职在维护 CLI 及相关工具链。

3.0 进展
在这里插入图片描述
自 2018 年年底有过预告 Vue.js 3.0 的设定目标,其实在今年年初的时候大部分功能已经实现。但同时,在开发的同是也在研究业界最新的方案,Vue 在 3.0 使用了 Proxy 的功能,但是 IE 11 仍然无法支持却有一定市场占有率。

更快
在这里插入图片描述

  1. Object.defineProperty -> Proxy:Proxy 不需要对原始对象做太多改动,效率更高
  2. Virtual DOM 重构:组建的启动速度等比 2.5 快了一倍,生成 VNode 参数一致化。但是还是可以做的更好,Virtual DOM 的目的并非只是速度,其核心价值在于用 JavaScript 表达 DOM 状态,因此它本身其实是有成本的。即每次更新时, vdom 树需要每次都重新建立,因此传统的 vdom 是有性能瓶颈。而这背后的原因是 vdom 最早是由 JSX 写的表达逻辑(灵活性),而非是模版语言,因此不能通过模版内容推测一些信息。
    在这里插入图片描述
    在这里插入图片描述
    如何最大化的动静结合?即兼容 render function 的灵活性,及模版表达的信息
    在这里插入图片描述
    将一个逻辑内部、外部的节点分开,每个动态节点当成一个 (fragment) 这使得动态节点别话只会出现在如 v-if、v-for 这样的结构性指令之下。将节点关系切分为一个一个的区块树(Block Tree,梗?),减少无谓的遍历。

这使得vdom 的更新性能与模版大小相关 => 与动态内容的数量相关(即哪儿需要改,就只让哪儿改,只实现最小操作)
在这里插入图片描述
速度优化:2.6.10(36ms),3.0(5.44ms)约 6 倍的速度增长

更多编译时优化
TypeScript
Class API ❌:
原本的目的是支持 TypeScript: this 下的属性类型推到无法有效实现,Decorator 提案很不稳定
Class API 除了使用了原生愈发,并未带来任何新的优势,OOP 里的继承等价值在 UI 层使用较少
Function-based API ✅:

在这里插入图片描述
在这里插入图片描述
更好的 TypeScript 类型推导支持(不需要任何手动的类型声明,一套代码同时支持),更灵活的逻辑复用(没有命名冲突、props 等数据来源更清晰、没有额外的创建成本),Tree-shaking 友好,代码可以被压缩
最新 RFC:https://github.com/vuejs/rfcs

问题??

  1. Vue.js 3.0 还有哪些不足?
    IE 11 还是会支持,只是会额外花时间来解决。此外,3.0 的劣势都在尽力解决

  2. 3.0 是否有破坏性的改动?升级效率?
    这就是 RFC 的价值,所有的重大改变、背后的意义、如何应对这些修改。基本的修改都会有自动化工具来更新。同时会有一个兼容版本,降低更新成本。

  3. React 渲染切片,Vue 仍会有相关成本?
    切片并非是万能药,只有极端条件下可以完成性能的保障。内部的复杂度较高,实现后仍未能满足性能效果,切片会让 nextTick 等代码都有破坏性修改(因为可能是多个 nextTick。

  4. Vue 未来的发展方向?
    门槛低,价值高。只要有人用,就一直维护和更新

  5. 很多企业用户在用 React,因为在 Native 方向有更好的兼容,Vue 未来会对 Native 有更好的兼容吗?
    一套代码,多端实现。React 虽然有 React Native,但是各个厂家都有相应的对策,Google 有Flutter、Apple 有 SwiftUI,大家不可能让一个开发范式被一个公司使用。恰好,Vue 是独立的开源,没有企业竞争。

国内正好还有小程序,推荐 DCloud 做的 uni-app。

附录

  1. 尤雨溪2017演讲地址:http://www.iqiyi.com/w_19rtq931gt.html(vue 2017现状与展望)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值