React 的開發成本太高了

作者 | nuke 譯者 | 彎月

出品 | CSDN(ID:CSDNnews)

React 的開發需要付出大量時間和金錢,甚至有可能導致企業破產。

依賴

React 只不過是負責顯示頁面的庫。而路由、表單、API 請求管理、狀態管理等都需要其他庫,這些庫之間盤根錯節,依賴關係非常繁雜。

此外,表單、路由等功能有好多個庫,往往會導致每個 React 項目都使用不同的庫,彼此之間的聯繫也都不一樣。

更糟糕的是,路由有好多種方式,因此項目的維護人員必須需要學習更多、更復雜的技術。

所以這些庫的版本兼容性是一個巨大的風險。每個庫每次的更新都有可能引發 bug。項目越大,風險就越大。更糟糕的是,測試也會越來越複雜。

因此,由於這些多樣性,React 的開發和維護成本都非常高。

結構 / 維護

React 的開發就像在沒有交通標線的道路上行駛,每個人都隨心所欲。這非常危險,可能你永遠也到不了目的地,即使到了也純粹是運氣。

React 也一樣,沒有結構,沒有指南。更糟糕的是,每個缺失的部分都有多種解決方案。

創建與維護 React 項目的成本非常高昂,因爲一切都要依賴於人、知識和項目本身。

更有甚至,由於技術經常變化,舊項目會過時,因此需要重新投入更多時間和金錢。

對於維護來說,這就是一場災難。

Redux

Redux 是一個巨大切複雜的結合體。

React+Redux 就像定時炸彈。

僅僅爲了管理一個變量的狀態,就要編寫 action、reducer、selector……

這都是什麼?!

編寫這些代碼的成本非常高,因此耗費大量精力和時間,最後的收穫卻如此之少。

當然,人們會說現在有其他解決方案,如 mbox。但那些已經使用了 redux 的網站怎麼辦?

用另一種技術重寫也要花大量的金錢,因爲開發人員需要學習,需要經驗。

同樣,這裏也有各種選擇:redux、mobX…… 這些都要花錢。

JSX

JSX 就是垃圾,視圖和邏輯不分離,語法繼承自另一個垃圾:XML。

它只會讓設計更困難,因爲視圖被 JSX 污染了。

以前是 HTML+PHP,現在是 HTML+JSX,都是一塌糊塗。

React 開發者的思想很活躍,很快就會變成一堆邏輯和視圖混在一起的亂糟糟的代碼。

這也要花時間和金錢。

react= 被代碼和 {(()}})}{))}{() 污染了的視圖

怎麼你覺得我有點誇張?實際上,我還少寫了一個 “}”。

想象一下如果需要在代碼中添加 flexbox 或 bootstrap,那簡直是災難。

測試

React 的測試很難寫。沒有依賴注入。

而且,沒辦法測試 JSX。

只能浪費更多時間。

流行趨勢

React 只不過是一種流行趨勢。

流行並不意味着最好。

流行的問題就在於,即使不適合,大家也會競相使用。

總結

出於以上原因,如果不想搞砸開發、不想承擔鉅額維護費用,就不要使用 React。

React 適合編寫小部件和網站。

如果想編寫 “正規” 的軟件項目,最好選擇 Angular、Vue.js 之類真正的框架。

不然你肯定會像 Airbnb 一樣追悔莫及,重新開發 Android 和 iOS 應用,從今以後再也不考慮 React Native。

參考鏈接:

https://blog.devgenius.io/react-costs-companies-a-lot-of-money-6bfa3e5cc6f4

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/ZIUFL62G9q-c3X0ACt89CQ