Vuejs 3.0 正式版發布!代號:海賊王
Vuejs 3.0 在北京時間2020年9月 19 日凌晨,終于發布了 3.0 版本,代號:One Piece
以下為 Vuejs Release 3.0 機器翻譯文章,原文 [v3.0.0 One Piece](https://github.com/vuejs/vue-next/releases/tag/v3.0.0)。
今天,我們很自豪地宣布Vue.js 3.0“ One Piece”的正式發布。該框架的新主要版本提供了改進的性能,更小的捆綁包大小,更好的TypeScript集成,用于處理大規模用例的新API,以及為框架的長期未來迭代奠定了堅實的基礎。
3.0版本代表了2年多的開發工作,具有30多個RFC,2600多個提交,來自99個貢獻者的628個拉取請求,以及核心回購之外的大量開發和文檔工作。我們要對我們的團隊成員應對挑戰表示最深切的謝意,我們對拉動請求的貢獻者,對財務支持的贊助者和支持者,以及更廣泛的社區對我們的設計討論和反饋提供了最深切的謝意。發行版本。Vue是為社區創建并由社區支持的獨立項目,如果沒有您的一貫支持,Vue 3.0將無法實現。
進一步推進“漸進框架”概念
Vue從一開始就具有一個簡單的使命:成為任何人都可以快速學習的易于接近的框架。隨著我們用戶群的增長,該框架的范圍也不斷擴大,以適應不斷增長的需求。隨著時間的流逝,它演變成我們所謂的“漸進框架”:可以逐步學習和采用的框架,同時隨著用戶處理越來越苛刻的場景而提供持續的支持。
如今,在全球擁有130萬用戶*的情況下,我們看到Vue在各種各樣的場景中使用,從在傳統的服務器呈現的頁面上增加交互性到具有數百個組件的功能完善的單頁面應用程序。Vue 3進一步提高了這種靈活性。
分層內部模塊
Vue 3.0內核仍然可以通過一個簡單的<script>
標簽使用,但其內部結構已被徹底重寫為一組解耦的模塊。新的體系結構提供了更好的可維護性,并允許最終用戶通過搖樹來減少運行時大小的一半。
這些模塊還公開了可解鎖許多高級用例的低級API:
- 編譯器支持用于構建時自定義的自定義AST轉換(例如,構建時i18n)
- 核心運行時提供了一流的API,用于創建針對不同渲染目標(例如本機移動設備,WebGL或終端)的自定義渲染器。默認DOM渲染器使用相同的API構建。
- 該
@vue/reactivity
模塊導出的功能可以直接訪問Vue的反應系統,并且可以用作獨立程序包。它可以與其他模板解決方案(例如lit-html)配對,甚至可以用于非UI方案。
解決規模問題的新API
2.x基于對象的API在Vue 3中是完整的。但是,3.0還引入了Composition API-一組新的API,旨在解決大型應用程序中Vue使用的難點。Composition API建立在反應性API之上,與2.x基于對象的API相比,可實現類似于React掛鉤的邏輯組成和重用,更靈活的代碼組織模式以及更可靠的類型推斷。
通過@ vue / composition-api插件,Composition API也可以與Vue 2.x一起使用,并且已經有適用于Vue 2和3的Composition API實用程序庫(例如vueuse,vue-composable)。
性能改進
與Vue 2?相比,Vue 3在捆綁包大小(通過搖樹減輕了多達41%的重量),初始渲染(加快了多達55%的速度),更新(加快了133%的速度)和內存使用率方面表現出了顯著的性能改進最多減少54%)。
在Vue 3中,我們采用了“編譯器信息虛擬DOM”的方法:模板編譯器執行激進的優化并生成渲染函數代碼,以提升靜態內容,為綁定類型留下運行時提示,最重要的是,將內部的動態節點展平一個模板,以減少運行時遍歷的成本。因此,用戶可以兩全其美:通過模板優化編譯器的性能,或者在用例需要時通過手動渲染功能直接控制。
改進的TypeScript集成
Vue 3的代碼庫是用TypeScript編寫的,具有自動生成,測試和捆綁的類型定義,因此它們始終是最新的。Composition API可以很好地處理類型推斷。Vetur是我們的官方VSCode擴展,現在利用Vue 3改進的內部鍵入功能支持模板表達式和props類型檢查。哦,如果您愿意,Vue 3的打字完全支持TSX。
實驗特征
我們為單一文件組件(SFC,又名文件)提出了兩個新功能.vue
:
這些功能已在Vue 3.0中實現并可用,但僅出于收集反饋的目的而提供。在RFC合并之前,它們將保持試驗狀態。
我們還實現了一個當前未記錄的<Suspense>
組件,該組件允許async setup()
在初始渲染或分支開關上等待嵌套的異步依賴項(異步組件或帶有的組件)。我們正在與Nuxt.js團隊一起測試和迭代此功能(Nuxt 3即將發布),并且可能會在3.1中進行鞏固。
分階段發布流程
Vue 3.0的發布標志著該框架的全面就緒。盡管某些框架子項目可能仍需要進一步的工作才能達到穩定狀態(特別是devtools中的路由器和Vuex集成),但我們認為今天使用Vue 3啟動新的綠色項目是合適的。我們還鼓勵圖書館作者開始升級您的項目以支持Vue 3。
請查閱《Vue 3庫指南》以獲取有關所有框架子項目的詳細信息。
遷移和IE11支持
由于時間限制,我們已推遲了遷移版本(具有v2兼容行為的v3版本+遷移警告)和IE11版本,并計劃在2020年第四季度重點關注它們。因此,計劃遷移現有v2應用程序的用戶或要求IE11支持人員此時應意識到這些限制。
下一步
發布后的短期內,我們將專注于:
- 遷移版本
- IE11支持
- 新devtools中的Router和Vuex集成
- Vetur中模板類型推斷的進一步改進
目前,針對Vue 3和v3的項目的文檔網站,GitHub分支和npm dist標簽將保持next
標明狀態。這意味著npm install vue
仍將安裝Vue 2.x和npm install vue@next
Vue3。我們計劃在2020年底之前將所有文檔鏈接,分支和dist標簽切換為默認值3.0。
同時,我們已經開始計劃2.7,這將是2.x發行版的最后一個計劃的次要發行版。2.7將向后移植來自v3的兼容改進,并發出有關v3中已刪除/更改的API使用情況的警告,以幫助潛在的遷移。我們計劃在2021年第一季度研究2.7,它將在發布后直接變為LTS,具有18個月的維護壽命。
嘗試一下
要了解有關Vue 3.0的更多信息,請訪問我們的新文檔網站。如果您是現有的Vue 2.x用戶,請直接轉到遷移指南。