Vue 的優缺點
應該不少人看過我護航 Vue,我講過很多 Vue 的優點與缺點,今天我想要說說我寫 Vue 過來的感受。以主流的前端框架來比較,它的優劣到底在哪?
本篇預期會有砲火,我會選擇性開戰XD
以下我針對當前最流行的前端框架作為對照組 ,身為多個框架都體驗過的人來談。
優點:
- Template 容易理解與學習語法,初學者上手容易。
- 官方提供完整的解決方案,不需要花很多時間了解套件選型。
- 撰寫自由度很大,開發者可以選擇 Template, JSX 不同的方案。(關於自由度可以對照這篇 https://www.threads.net/@f2e\_willy/post/C7SmbRCPr4\_/?xmt=AQGz8gmb-H\_0CCaS2hxE2BbSsTbdL4gizCDVZeqPOsks1g)
缺點:
- 生態相對小,套件庫數量和豐富度相對少
- 套件開發難度高,需要整合許多 API 的處理。尤其要支援 template 的難度尤其複雜,降低開源開發者製作意願。
- 內部進行依賴收集和響應,沒有明確宣告的程式碼,對於不熟悉的人理解意圖相對吃力。
- 型別架構複雜,自定義 TypeScript 的 Component 相對上手難度高。
特性產生的雙面刃:
- 因為容易學習,導致新手多,生態圈素質落差巨大。
- 因為仰賴模板語法,所以有很多背離 JavaScript 的語法出現。
- 官方已經提高許多固定的解決方案,所以相對套件生態圈不太去發展其他選擇。
- 官方提供過多的組成方案,套件作者為了符合各種情境去處理會吃盡苦頭。比如說支援 template 的解析。
- 因為過多自動化處理依賴和響應的功能,寫的時候很開心,很容易寫出不易維護的程式碼。
這篇無疑我就是想站在另一個角度,我不是完全覺得 Vue 沒有缺點,我只是想講,每個框架都有優缺點,不必去吹捧特定框架很棒、最好用、必學。工具就是工具,時代會變遷,工具會變化,吸取精髓才是不斷精進的不二法門。