[现场实录] VueConf 2019 尤雨溪演讲总结

距离参加 VueConf 第一届大会已经好久了,裕波的介绍一如既往地有意思 ❤️,是他的努力保持了大会热情的社区氛围!另外一个彩蛋就是 Evan You 带了本身的亲人和孩子来到现场,真的是其乐融融!前端

尤雨溪 @ State of Vue

State of Vue

发展示状

Chrome DevTools 有约 90 万的周活用户,React 相比有 160 万。Evan 推荐用 Chrome DevTools 来预测 Vue 的项目的真实开发者数据。Vue 有全球化的影响力,在很是多的国家有相应的活动,能够经过 events.vuejs.org 查找。State of JavaScript 2018 年统计说明在前端框架的满意度是第一名(91%),并在 Stack Overflow 的数据里体现是第二受欢迎的前端框架。vue

Vue 的良好反馈

团队

如今 Vue 有 20 人活跃的开发者,大部分平常工做与 Vue 相关,彻底独立运营,而成本主要来自于赞助商,三年来稳步增加。蒋豪群(@sodatea)全职在维护 CLI 及相关工具链。git

3.0 进展

Vue 3.0 目标

自 2018 年年末有过预告 Vue.js 3.0 的设定目标,其实在今年年初的时候大部分功能已经实现。但同时,在开发的同是也在研究业界最新的方案,Vue 在 3.0 使用了 Proxy 的功能,可是 IE 11 仍然没法支持却有必定市场占有率。github

更快

  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 倍的速度增加
  1. 更多编译时优化

TypeScript

  • Class API ❌:
    • 本来的目的是支持 TypeScript:this 下的属性类型推到没法有效实现,Decorator 提案很不稳定
    • Class API 除了使用了原生愈发,并未带来任何新的优点,OOP 里的继承等价值在 UI 层使用较少
  • Function-based API ✅:
    • 更好的 TypeScript 类型推导支持(不须要任何手动的类型声明,一套代码同时支持),更灵活的逻辑复用(没有命名冲突、props 等数据来源更清晰、没有额外的建立成本),Tree-shaking 友好,代码能够被压缩
  • 最新 RFC:github.com/vuejs/rfcs

Q&A

1. Vue.js 3.0 还有哪些不足?

IE 11 仍是会支持,只是会额外花时间来解决。此外,3.0 的劣势都在尽力解决小程序

2. 3.0 是否有破坏性的改动?升级效率?

这就是 RFC 的价值,全部的重大改变、背后的意义、如何应对这些修改。基本的修改都会有自动化工具来更新。同时会有一个兼容版本,下降更新成本。前端框架

3. React 渲染切片,Vue 仍会有相关成本?

切片并不是是万能药,只有极端条件下能够完成性能的保障。内部的复杂度较高,实现后仍未能知足性能效果,切片会让 nextTick 等代码都有破坏性修改(由于多是多个 nextTickapp

4. Vue 将来的发展方向?

门槛低,价值高。只要有人用,就一直维护和更新框架

5. 不少企业用户在用 React,由于在 Native 方向有更好的兼容,Vue 将来会对 Native 有更好的兼容吗?

一套代码,多端实现。React 虽然有 React Native,可是各个厂家都有相应的对策,Google 有Flutter、Apple 有 SwiftUI,你们不可能让一个开发范式被一个公司使用。刚好,Vue 是独立的开源,没有企业竞争。dom

国内正好还有小程序,推荐 DCloud 作的 uni-app工具

相关文章
相关标签/搜索