成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

即將到來的 Vue 3 “Vapor Mode”

開發 前端
Vapor Mode 是一直在試驗的另一種編譯策略,其靈感來自于 Solid。給定相同的 Vue SFC,與當前基于虛擬 DOM 的輸出相比,Vapor Mode 將其編譯成性能更高、使用更少內存且需要更少運行時支持代碼的 JavaScript 輸出。

今年年初,尤雨溪在 2023 新年展望中提到了 Vue 3 “Vapor Mode”:

Vapor Mode 是一直在試驗的另一種編譯策略,其靈感來自于 Solid。給定相同的 Vue SFC,與當前基于虛擬 DOM 的輸出相比,Vapor Mode 將其編譯成性能更高、使用更少內存且需要更少運行時支持代碼的 JavaScript 輸出。它仍處于早期階段,這里有一些相關的要點:

  • Vapor Mode 適用于主要關注性能的用例。它是可選的,不會影響現有的代碼庫。
  • 開發者將能夠將 Vapor 組件子樹嵌入到任何現有的 Vue 3 應用中。在理想情況下,希望可以在組件級別實現粒度選擇,這意味著可以在同一個應用中自由混合 Vapor 組件和非 Vapor 組件。
  • 僅使用 Vapor 組件構建應用允許從 bundle 中刪除虛擬 DOM 運行時,從而顯著減少 baseline 運行時大小。
  • 為了獲得最佳性能,Vapor Mode 將僅支持 Vue 功能的一個子集。特別是,Vapor Mode 組件將僅支持 Composition API 和 <script setup> 。但是,這個受支持的子集在 Vapor 和非 Vapor 組件之間的工作方式完全相同。


下面就來詳細看看,Vapor Mode 是什么,它是如何工作的,以及它的未來!

Vapor Mode 是什么?

Vapor 模式是受 Solid.js 啟發的一種新的替代編譯策略。它旨在通過將代碼編譯為更高效的 JavaScript 輸出來增強應用的性能。

當在應用級別使用時,可以完全刪除虛擬 DOM,從而減少應用的包大小。

? 使用 Vapor Mode 的好處如下:

  • 性能更佳
  • 使用更少的內存
  • 需要更少的運行時支持代碼。

Solid.js 具有與 Vue 非常相似的響應式系統,它們都在其響應式系統中使用代理,并具有基于讀取的自動跟蹤。這就是為什么 Vue 可以實現與 Solid.js 類似的編譯策略。

Vapor Mode 如何工作?

給定相同的 .vue 單文件組件,Vapor Mode 能夠將其編譯為性能更高的 JavaScript 輸出。

為了實現最佳性能,Vapor Mode 僅支持 Vue 功能的一個子集,包括新的 Composition API 和帶有<script setup>.vue單文件組件(SFC),這些是 Vue 3 的新默認應用編寫方式。

現狀

目前,Vue 采用混合 VDOM/編譯器方法。編譯器獲取 SFC 的模板,對其進行分析并將其提供給虛擬 DOM。

這種編譯器通知的虛擬 DOM 方法使 Vue 在執行 DOM 操作時比 Svelte 4 等無 V-DOM 工具表現得更好。

如何使用 Vapor Mode?

在組件層面

可以使用 .vapor 文件名后綴來啟用它。

最終目標是在同一個應用中自由混合 Vapor 和非 Vapor 組件。

注意:Vapor Mode 最初將僅使用 Vapor 樹集成到 vDOM 中,并在此基礎上逐步提高它們之間的互操作性。

在應用層面

通過這種方式編譯的應用程序將能夠完全刪除虛擬 DOM 運行時,只包含極為輕量級的@vue/reactivity和 vapor mode 運行時輔助程序。與當前使用 vDOM 的 Vue 3 應用的基線大?。s 50KB)相比,這樣編寫應用的基線大小僅為約 6KB,實現了高達 88%的壓縮比!

關鍵點

這是一項可選功能,不會影響現有的代碼庫。如果計劃將 Vue 版本升級到包含 Vapor Mode 的版本,這不會引入任何與 Vapor Mode 相關的重大更改。

Vapor Mode 將能夠與 vDOM 組件進行互操作。因此,如果希望使用像 Vuetify 這樣的虛擬 DOM 庫, Vapor Mode 仍然能夠支持它。

Vapor Mode 發展階段

Vapor Mode 仍在開發中,下面有一些相關消息:

第一階段:核心功能的運行時

在這個階段,引入了所有 Vapor 運行時相關的幫助生成代碼的輔助程序。這個階段已經基本完成。

?? 階段目標:

  • 支持核心指令(v-on、v-if、v-for 等)和組件樹。
  • 驗證性能假設。
  • 與現有 SSR 輸出的水合兼容性。

第二階段:核心功能的編譯器

這一階段的主要重點是確??梢允褂?Vue 模板或 JSX 并將其轉換為運行時可以處理的內容。

?? 階段目標:

  • 共享代碼生成 IR(中間表示)
  • JSX AST / 模板 AST - IR - Vapor Mode 代碼

那為什么需要中間表示呢?

由于沒有虛擬 DOM,Vapor Mode 的編譯過程無需手動創建渲染函數。然而,一些用戶需要 JavaScript 的廣泛靈活性。在這種情況下,可以將 JSX 編譯為 Vapor 代碼。

模板和 JSX 都經過轉換為相同的中間表示,最終編譯為 Vapor 代碼。

第三階段:集成

Vue 的目標是讓 Vapor 能夠無縫地融入現有的應用,而無需對當前的設置進行任何修改??梢栽诮M件級別進行選擇,以便能夠逐步將其引入到應用的一部分中,或者特別是在性能關鍵的區域中使用。這樣,可以根據需要靈活地利用 Vapor,并在需要時將其引入到現有的應用程序中。

?? 階段目標:

  • 對獨立 Vapor 應用的工具支持
  • 在現有應用中運行 Vapor 組件
  • 在 Vapor 中運行 vDOM 組件

第四階段:功能對等

在首次發布時,Vapor Mode 將僅提供基本的核心功能,而諸如<Transition />、<KeepAlive />、<Teleport />、Suspense 等輔助功能將在 Vue 團隊完成前述目標后進行實現。

小結

  • Vapor Mode 是 Vue.js 正在開發的一種新的面向性能的編譯策略;
  • 它將使用相同的模板(假設使用的是 Composition API 和<script setup>,并產生更高性能的輸出);
  • 它將逐步采用,開發者可以選擇為單個組件或整個應用啟用 Vapor 模式。
  • 最終目標是實現在同一應用中自由混合使用 Vapor 和非 Vapor 組件,而不會引發任何問題。不過,Vapor Mode 將首先以僅包含 Vapor 樹的 vDOM 為基礎,并在此基礎上逐步提高它們之間的互操作性。
責任編輯:姜華 來源: 前端充電寶
相關推薦

2018-08-15 09:12:58

2023-02-14 09:37:00

Vue無虛擬模式

2022-09-11 08:10:44

Fedora

2010-10-25 13:12:13

云計算

2021-12-14 10:04:52

無密碼時代多因素身份驗證MFA

2022-10-12 00:07:25

加密貨幣區塊鏈比特幣

2015-07-03 09:45:34

火車WiFi

2010-04-19 15:58:33

互聯網

2009-05-05 10:36:44

KDESocialDesktop

2015-02-09 15:37:46

2009-04-14 09:56:00

2015-06-16 10:50:45

2024-09-02 08:31:46

2013-01-25 09:43:14

2013-10-09 10:50:00

智能電視智能電視庫應用

2015-04-29 09:55:50

Windows 10

2013-03-11 09:43:30

VMware vClo公有云服務

2019-05-30 05:09:44

5G網絡運營商

2010-06-09 09:21:21

Rails 3

2019-01-16 05:44:22

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产日韩欧美精品一区二区 | 国产久视频 | 久久久青草婷婷精品综合日韩 | 国产成人高清视频 | 欧美日产国产成人免费图片 | 日韩中文字幕一区二区 | 午夜激情在线视频 | 成人在线一区二区 | 亚洲精品久久久久久下一站 | 波多野结衣在线观看一区二区三区 | 中文字幕在线二区 | 欧美片网站免费 | 四虎网站在线观看 | 精品毛片| 欧美久久国产 | 亚洲国产一区二区视频 | 涩涩视频在线播放 | 亚洲精久 | 女同videos另类 | 中文字幕在线一区二区三区 | h片在线免费看 | 黄网站在线播放 | 麻豆一区二区三区精品视频 | 免费在线观看一区二区 | 天天看片天天干 | 中文在线一区 | 亚洲精选久久 | 国产一级特黄视频 | 久久网一区二区三区 | 亚洲欧美国产毛片在线 | 狠狠操狠狠 | 亚洲欧美成人在线 | 日韩欧美精品在线 | 天堂一区二区三区 | 欧美电影一区 | 91精品国产乱码久久久久久久 | 久久99视频精品 | 亚洲精品一级 | 亚洲久视频 | 97精品视频在线观看 | 久久久久成人精品免费播放动漫 |