昨天,4 月 16 日,vue 3 正式進入 beta 階段。同日,尤大參加了 state of vue 的線上活動,以下是他上傳到 google docs 上的slides
:
state of vue apr 16 2020
可以 fq 的同學可以直接看。如果不方便的話,可以繼續往下看一下:
目前,所有被列入計畫的 rfcs 已經實現了,接下來 vue 團隊的重點是讓 vue 3 變得更加穩定,以及讓 vue 相關的第三方庫支援 vue 3。 主要體現在效能
、tree-shaking support
、composition api
、fragment
、typescript支援度
和自定義 render
上。
效能上,主要是 重寫了vdom , compiler-informed fast paths(編譯模板的優化?), 以及實現了更加高效的元件初始化。
這部分的優化主要是減少了 vue 的打包體積。很多時候,我們的應用並不是需要 vue 提供的所有功能的,在 vue 2 我們沒有很好的辦法把這些不想要的功能排除掉,但是 3.0 我們就做成了按需引入。舉例來說,內建元件像 keep-alive、transition,指令的配合的執行時比如 v-model、v-for 等都可以按需引入 。這樣就可以讓純淨的 vue 的體積變得更小了。
composition api 是和 react hooks 類似的東西,他們的主要作用是提高了**邏輯的可復用性,從而實現了與模板無關性。另外,把 reactivity 模組獨立開來,意味著 vue 3 的響應式模組可以和其他框架組合。之前昊神就發過一篇文章 40行**把vue3的響應式整合進react做狀態管理 有興趣的可以去看一下。
不再限制 tmeplate 裡面只有乙個根節點了,render 函式也可以返回陣列了,有點類似實現了react.fragments
的功能 。
對 ts 及 tsx的支援度更加友好了。類元件還會繼續支援,但是需要引入vue-class-component@next
,該模組目前還處在 alpha 階段。
可見,vue 2 並沒有過時, 還會有小更新,並且還會維護 18 個月。
雖然 vue 3 已經進入 beta 階段,但是距離能應用到生產環境還是有很長的路要走,最起碼,在 2020 年 繼續使用 vue 2 也不會過時,最主要的原因是 vue 3 生態還沒有完善。就像 python3 出來那麼久了,現在還有很多人使用 python2 一樣,因為還有很多 python 的庫不相容 python3 的。
Vue3 0系列(Vue3 0是如何變快的 )
來說一說為什麼performance 效能比vue 2.x快1.2 2倍 這裡先提供兩個 2.1 diff演算法優化 例子 我是段落 也就是說,vue3在渲染的時候,給會改變的元素新增了靜態標記 import from vue export function render ctx,cache,pro...
快速上手vue3 0
安裝最新vue腳手架 npm i vue cli g 通過腳手架建立專案,並選擇3.0 vue create vue next 執行專案 npm run serve vue2.0採用的叫做選項式api 例如我們想實現某乙個功能,關於這個功能的資料我們會定義在data中,事件函式定義在methods中...
Vue3 0學習記錄
composition api 組合api 效能提公升 viteoptions api composition api 響應式系統公升級 vue.js 3.0中使用proxy物件重寫響應式系統 proxy物件效能本身就比 defineproperty好 物件可以攔截物件的賦值 刪除等,不需要初始化遍...