首頁>技術>

這幾天補了下 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

React Hooks 只調用一次、內聯回撥、閉包問題。

2020 年

callback 2018 - 2019

完成 RFCS

新的編譯器

支援SSR

結束Beta

新的編譯器

完整source map 支援

基於外掛轉換管道

layered design for higher order 編譯器

10
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • leetcode775_go_全域性倒置與區域性倒置