Web應用程式的開發涉及許多活動,例如:
捕獲使用者故事
建立原型設計
開發核心元件
建構原型
開發可運作的應用程式
部署
測試
最終被企業使用者接受
Web應用程式開發的整個生命周期需要用到很多技術。近來,我們看到全棧開發人員的需求持續高漲。
假設有一個足球隊(或其他任何體育團隊)。我們需要專業的前鋒、中場、後衛,還有一個守門員。有時,全能選手可以幫助我們赢得一場比賽甚至一系列比賽。但是,所有團隊都需要一些專業人士。全棧開發人員很有必要,但僅靠全棧開發還不夠。
為什麼我們需要一個全棧開發人員?
簡單來說,可能我們需要某個人同時兼顧後端API和UI元件。
公平地說,在下列情況下,全棧開發人員能夠發揮出很大作用:
小團隊,最多3~4個成員
改進項目,而且預算很有限
支援和維護項目,開發人員需要對應各類工作
但是,如果團隊有很多成員,那麼全棧開發人員就不會帶來任何好處,甚至造成負面影響。
為什麼?
服務/API的基本原理是服務抽象:
服務抽象包含有關服務内封裝的所有細節(比如邏輯、實作和建構服務所用的技術等),可以向服務使用者提供有關服務的詳細說明,而使用者可以通過特定的方式使用該服務。
現在,我們來仔細思考一下,就會發現負責端到端實作的開發人員将很容易被自己的行為和責任所誤導。這樣的代碼庫會出現許多幾個問題,而團隊需要等到将來才會發現。
相反,我們可以要求全棧開發人員擔任UI或後端專家,并随着項目的推進,将他們切換到其他角色。
從開發周期的角度來看,下面幾個方法可以讓團隊不再依賴于全棧開發人員:
API合約
模拟服務
如果你認為上述兩種方法不過是小事一樁,那便最好不過了。
但如果你認為這兩項工作非常耗時,而且大有裨益,則請注意以下幾點。
API合約并不意味着必須擁有OpenAPI / Swagger文檔。API合約也可以隻是API和UI開發人員之間通過書面或電子郵件達成的協定。
測試驅動的開發(TDD)是很好的選擇。但是,正确了解并正确執行TDD并非易事。相反,你應該從模拟服務開始,并輔助你完成單元測試或端到端的測試。
React拿到了16.8萬顆星星,Vue拿到了18.3萬顆星星.
Mirage有4千顆星星,MSW有5千顆星星。
GitHub上的這些資料表明,前端開發社群剛剛開始采用測試驅動的方法。
Mirage減少了對API的依賴,并可以快速跟蹤Web應用程式的開發。
總結
我自己就是一名全棧開發人員,而且也是架構師。
本文所表達的意思完全是我個人的看法,希望對你的團隊有所幫助。
原文連結:
https://javascript.plainenglish.io/do-you-really-need-a-full-stack-developer-72b36c4949b1作者 | Prasad Jayakumar
譯者 | 彎月 責編 | 歐陽姝黎
出品 | CSDN(ID:CSDNnews)