🎋 竹子日誌

自由的框架

網路上都說 React 是款自由的框架,但我在寫的時候並不這麼認為。

React 其實限制很多

  • hook 不允許改變順序與判斷,看似提供多樣的封裝,其實有有嚴格的規則。
  • React 只允許 JSX 和 jsx render function 兩種寫法,不會讓你看到太奇怪的。
  • 官方已經慢慢放棄 class component ,新生態圈幾乎放棄這種寫法,逐漸統一使用 functional component 。
  • 看似控制力強大的 dependencies ,其實並沒有給你選擇的權利,甚至直接出 ESLint 請你遵循。
  • 提供的 API 看似稀少,但其實每個 API 存在複雜的職責和邏輯,甚至有些底層功能並不提供,鼓勵使用 Library 來滿足需求。
  • 看似自由簡單的 functional component 對於 FP 以外的寫法並不友好,常常會需要避坑放棄而放棄一部分的寫法,正因如此更讓它有 Functional Programming 的味道。

純論自由,Vue 自由到很噁心

純論自由這件事,我覺得 Vue 自由到很噁心。

  • UI 的寫法無論是 html, pug, jsx, render function 都可以,甚至可能發生模板語法混 JavaScript Rendering 語法。
  • 寫法上有 option, composition, class ,都可以交叉使用,讓你搞不清楚現在到底在用什麼 API,有時混著寫都可能發生。
  • 大部分 api 基於 observable 延展,狀態不一定寫在 component ,可能任何地方都會產生狀態並產生依賴。
  • API 多達上百種,學起來跟認識起來極其崩潰。其中一半都說語法糖語法,出了 vue 圈不見的使用得到。
  • 對於寫法的容納性超廣,OOP 、FP 都可能出現,甚至極端性交雜都有可能。
  • 學習門檻低,亂學亂用都會正常運作,導致市場充滿新手和髒 Code。

我愛 Vue,但我現在寫 React

我個人認為 Vue 是我用過最自由的框架,根本是全套自助餐。帶來的缺點很明顯,就是太過自由導致市場上各種獵奇的風格。

因為自由,我愛 Vue,我喜歡用 Vue 寫小東西。

因為我被雷到超怕,我離開 Vue ,我現在工作寫 React。

留言