許多人問我對於 React 和 Vue.js 的意見。以下是我的想法。
作為對 Vue 和 React 製作電子書和課程的經驗者,我也在許多小型專案中使用它們,因此我認為我可以回答這個問題,幫助你在這兩者之間作出選擇。
下面是我的印象。
兩者都很好且快速
在技術細節上沒有差別,它們都達到相同的目的,且都執行得很好。
Vue 更適合初學者
這是我的印象。
React 正試圖追趕 Vue.js 最大的賣點,即 Vue 的初學者友善性。反之,React 針對略有不同的受眾,這在其文件中得以體現。
相較於 Vue,React 需要相當程度的現代 JavaScript 知識。
JSX 比模板語言更難理解。另一方面,Vue 與 Angular 相似,這使得從 Angular 遷移更加簡單。
Vue 更像一個完整的套件,React 則有大量可供選擇的庫
在 Vue 中,擁有官方套件來滿足主要需求(如路由或狀態管理),而 React 則讓庫自由競爭最受歡迎解決方案的位置。這可能從不同的觀點來看是好或壞。
我認為擁有官方套件來滿足常見需求非常方便,尤其是這意味著所有事物都保持同步,而系統的整體變更也被整體思考。
React 擁有較大的使用者群和就業機會
React 的市場份額很大。我不會提及任何形式的調查或研究,因為在Google上輕鬆搜尋即可找到最新資訊。
Vue 也在不斷增長,但若你想專攻某項技術以獲得工作或自由工作機會,React 絕對是更大的池塘。當然,這個池塘中有更多開發人員,而較不熟悉的 Vue 可能也會有更多機會,因為開發人員相對較少。很難說。
Vue 是獨立的,React 受 Facebook 支援
有什麼不同呢?我有時在 React 的發行說明中(或其他地方)看到類似「在 Facebook,我們有 XXXXX 個 React 組件」或「在 Facebook,嘀嘀咕咕…」的語句。React 是 Facebook 工程師的副產品。它並非獨立產品,也永遠不會是。如果 Facebook 需要某種特定需求導致對 React 進行修改或變更,那會被引進。這也意味著有時會進行變更,而你應該跟上快速的發展,否則就「落伍了」。
這聽起來很棒,但問題是99.9%的人沒有 Facebook 那樣的需求。遠非那樣大規模。
另一方面,Vue 是獨立運作的,它没有獨立企業的支持,我覺得這是更好的運作方式,以提供給開發人員社區的開源項目。其路線圖以社區需求為首要考量,而非母公司的需求。
這是我對該議題的想法,我沒有內部或第一手的相關資訊,了解這些項目的實際運作方式。
那麼,我該選擇哪一個!?
這取決於你自己的情況。
你需要仔細考慮,權衡各方利弊,並決定哪一個符合你的需求。
也許你還可以選擇一個不那麼流行的替代框架。