VUE 3.0 學習探索入門系列 - 糾結要不要升級到Vue3.0?該如何升級?(5)

閒聊兩句

從 Vue 3.0 有消息到如今也已經有1年多時間了,2019年 Evan You 在每次會議上確定會提 Vue 3.0 的進展和一些特性,固然你們也是懷着我的崇拜,滿懷期待的等着尤大的大做!javascript

可是,隨着等了一年多了還沒正式發佈,一直到如今 2020.3.21,我慢慢的感受沒啥期待了,也開始慢慢的倦怠了,熱情感受也沒那麼強烈了。前端

我只因此寫這個 VUE 3.0 學習探索入門系列,目的也就是但願我在我還有這麼一點點興趣的時候,試圖去快速的、全面的瞭解 Vue 3.x,帶着個人興趣去窺探它。要否則等我徹底沒興趣的時候,Vue3.x 再出來,我可能就只是在用到的時候,被動的去學習它、使用它,它就純粹只是個人工具而已了。vue

好了,言歸正傳。經過持續對 Vue3.x 的關注,以及近段時間的深刻研究,今天就來跟你們分享下,在我看來:你們有沒有必要升級到 Vue3.0?若是要升級,該如何升級?java

Vue2.x 不必升級!Vue3.x 有必要用!

首先我來解釋下,爲何我我的以爲沒 Vue2.x 必要升級!jquery

就目前我對 Vue3.x 的瞭解來看,只有 兩個明顯特性 對我有吸引力,可是這2個特性解決的問題目前也不是很致命,以致於讓我對本身革命!webpack

  1. 對 TypeScript 的友好支持。在當前 Vue2.x 中,那些喜歡 Ts 的人,也基本習慣了當前的語法 示例,雖然要額外引入一些包,加一些裝飾器,但也基本能用
  2. 新增 Composition API。新的 API 兼容 Vue2.x,只須要在項目中,單獨引入 @vue/composition-api 這個包就能夠,就可以解決咱們目前 Vue2.x 中存在的一些極個別難題 什麼難題?看這裏

同時,若是我直接升級到 Vue3.x,我要作的事情會更多,比起我面臨的問題,可能帶來的問題更多,何須呢?web

  1. 當前項目生態中的幾個庫都面臨巨大升級,以及升級後的諸多坑要填,好比:vue-routervuexElementUI/ViewUI/AntDesignVue 等。這些生態在 2.x 上都已經很成熟,可是在 3.x 上還有不少長路要走,不少坑要踩。
  2. Vue3.x 沒有了默認對象 export default,當前項目中全部直接使用 Vue.xxx 的語法所有得重寫,有些都已經沉澱到公司底層庫中了,這刀子動起來風險可不小。
  3. 目前對一個橫向小組來講,大大小小維護幾十個項目,全面改一次,測試一次,這週期也很長,還不包括所有門、全公司的集體升級!
  4. 測試團隊須要全面自檢和升級,自動化腳本可能須要從新調整,你怎麼說服他們支持你?
  5. 發佈平臺的腳本,包括 CI/CD 等可能面臨全面更新,以及也可能面臨新老流程兼容的問題解決。

再來聊下爲啥我以爲 Vue3.x 有必要用!spring

  1. 兼容 Vue2.x 95% 以上特性,因此其優勢所有獲得繼承,好比:上手快、門檻低。
  2. 對 Ts 支持更加友好,更加迎合了行業趨勢、技術潮流
  3. Composition API 的添加,勢必會讓一部分 React 用戶轉投過來(我的觀點,邊走邊看吧),之後羣體會更大,生態更豐富
  4. 到目前爲止不用再擔憂它仍是一個我的項目,若是我是 Evan You,哪天真的無法經過 Vue 維持生計了,我會跟 Google 或者 Microsoft 去聊聊收購的事情(這麼大的市場蛋糕,我不信沒人要),對於用戶來講影響不大

因此整理下個人結論vue-router

  1. 若是是新團隊、新項目,當 Vue3.x 正式 Release 後,生態跟上來了(半年時間),能夠直接上(不要怕學習 Ts)
  2. 成熟團隊,前端基礎架構也成熟,不要忙着升級,等 Vue3.x 正式 Release 半年後,能夠先嚐試使用 Vue2.x + @vue/composition-api 過渡,不建議斷崖式升級
  3. 不建議框架從 Vue2.x 直接升級 Vue3.x,而是新起爐竈直接使用 Vue3.x 打造新的項目工程模板

最後說下咱們團隊的計劃安排vuex

初步的思路,但願給大夥一點思路:

  1. 半年內,按兵不動,繼續 Vue2.x,同時等待 @vue/composition-api 發佈 v3.2.0 版本以上
  2. 項目基礎模板框架升級,基於:Vue2.x + @vue/composition-api,支持 Vue3.x 的新語法,同時制定嚴格的 Composition API 使用規範
  3. 一年後,基於 Vue3.x 搭建新的基礎框架(全面Ts)!不會基於老的框架升級!同時制定詳細的 Vue3.x 模板開發規範
  4. 今後之後,老的項目依然使用 Vue2.x+ @vue/composition-api 維護直至退役,或者徹底被新的 Vue3.x 框架替代成全新的工程

每次技術變革對本身也都是革命

如下是我歷史上的幾回技術變革(java 到 javascript):

  1. servlet -> spring -> spring mvc
  2. jsp --> jquery + bootstrap
  3. jquery --> avalon(require.js + gulp)
  4. avalon --> vue2.x(webpack)
  5. vue2.x -->

至今還記得 jQuery 的口號:write less,do more,很情懷!因而又打開 很久沒去的 jQuery 官網,嗯,還在!

Vue3.x 與我無關者

我這裏是說的有這麼一羣人,他們在心底會說:

Vue2.x 用的好好的,我幹嗎要本身沒事找事,學習Vue3?花那麼多心思升級 Vue3?

這種態度表明了這麼一羣人:

  • 不思進取,不求上進,很看重加班
  • 工做只是生活所迫,並無追求
  • 不多參與技術分享,也不多總結寫博客
  • 拿來主義者,Ctrl+C/V 忠實執行者

我想說的是對於新技術或者新事物,咱們須要保持敏感。他的出現必定是有他的道理,他之因此存在必定有他的價值。

咱們確定不能盲目追隨,可是咱們也不能自我封閉。因此,對於 Vue3.x 或者其餘新的技術,我更但願你們多瞭解一下,而後再作選擇。

可是有一個千古不變的道理:不思進取,不進則退,在這些年體現的更明顯。

好比:

  • 前4年,你告訴我不會用 jQuery,我會跟你說,實在抱歉...
  • 前2年,你告訴我只會用 jQuery,我會跟你說,實在抱歉...
  • 如今,你告訴我會用 Vue,我會問題:瞭解 Vue3 嗎?沒了解,實在抱歉...
  • 明年,你告訴我只用過 Vue2.x,我會跟你說,實在抱歉...

最後,若是朋友們喜歡就點個贊👍,我會繼續寫下去。

(全文完)

相關文章
相關標籤/搜索