目前業界的軟體開發多半依照不同技術採水平分工模式, 例如:一組負責前端、一組負責後端, 但這跟一般企業的組織劃分有所不同, 導緻所有開發案都必須跨部門、跨開發團隊進行協調, 團隊溝通變得越來越麻煩, 在經典之作《人月神話》(The Mythical Man-Month) 一書中就描述瞭這個情況。
▌擺脫傳統單體應用的思維, 現在就將微前端導入你的專案中! ▌
微前端架構提倡的則是另一種做法:將應用程式垂直拆解, 每個區塊交給一個專責團隊負責, 一條龍地包含從資料庫連接到使用者介麵的開發。不同團隊的前端單元會在客戶端的瀏覽器內整閤, 構成最終的頁麵。用更容易理解的說法, 微前端就像是帶有使用者介麵的微服務架構。
聽起來是要每個開發團隊各自為政, 相信有經驗的開發者可能馬上會想到:那採用不同的技術怎麼整閤?會不會有效能瓶頸?類似的功能應該很容易重複開發吧?後端伺服器要各自架設?版本控製要各自維護?各做各的那介麵怎麼統一?
微前端架構當然不可能毫無缺點, 以團隊的角度, 程式碼或資源的冗餘自然是無可避免, 不過隻要配套機製運作得當, 所帶來的可擴展性、靈活性,仍然是利大於弊。本書就要教你怎麼無痛建構、轉換到微前端的開發架構。
別擔心要多學新的框架, 雖然確實有一些完全符閤微前端概念的框架可以直接套用, 但作者想強調的是微前端架構的概念和選用時機, 若強迫用特定的框架, 很有可能馬上澆熄你的熱情。因此本書會在現有常見的網路技術規範下, 引入微前端的基本機製, 不管你的網站或應用程式採用哪種技術所建構, 幾乎都可以適用。
為瞭適用各種不同的情境, 作者提供瞭超過 20 個開發上的使用案例, 協助你將手上專案順利導入微前端的開發架構。除瞭技術上的交流, 作者也在書中提供不少團隊開發該留意的經驗分享, 界定好開發團隊的責任歸屬, 做好跨團隊間的溝通協調, 讓微前端架構發揮最大價值。
如果你受夠巨無霸一大包的前端單體架構所帶來的諸多睏擾, 有瞭上述這些指引, 現在正是導入微前端架構的好時機, 對於新一代網頁開發人員、架構師或團隊領導者, 相信會帶來非常大的助益。
本書特色
全書共收錄超過 20 個微前端架構的使用案例, 從簡單的超連結、iframe 和 Ajax 入門, 到較為複雜的 SSI 伺服器端內嵌、ESI、Tailor、Podium、Web Components 以及 app shell、通用渲染等, 並且讓你可以靈活將這些工具和技巧應用於真實情境中。
● 將不同的應用程式建構為統一的前端頁麵。
● 無縫整閤採用各種框架的 JavaScript 程式碼。
● 各種伺服端與客戶端的整閤技術與頁麵路由技巧。
● 協助釐清專案需求, 挑選正確的架構及整閤技術。
● 建構設計係統的樣式庫, 提供一緻性的 UI/UX。
● 提高團隊開發效率並優化專案執行流程。