決戰! 微前端架構Micro Frontends: 新一代可擴展的網頁開發模式, 實現各種框架的無縫整合與溝通

決戰! 微前端架構Micro Frontends: 新一代可擴展的網頁開發模式, 實現各種框架的無縫整合與溝通

Micro Frontends in Action

出版日期:
2023/09/24
79
820647
查詢門市庫存
本書特色:
全書共收錄超過 20 個微前端架構的使用案例, 從簡單的超連結、iframe 和 Ajax 入門, 到較為複雜的 SSI 伺服器端內嵌、ESI、Tailor、Podium、Web Components 以及 app shell、通用渲染等, 並且讓你可以靈活將這些工具和技巧應用於真實

內容簡介


內容介紹:

  目前業界的軟體開發多半依照不同技術採水平分工模式, 例如:一組負責前端、一組負責後端, 但這跟一般企業的組織劃分有所不同, 導致所有開發案都必須跨部門、跨開發團隊進行協調, 團隊溝通變得越來越麻煩, 在經典之作《人月神話》(The Mythical Man-Month) 一書中就描述了這個情況。

▌
擺脫傳統單體應用的思維, 現在就將微前端導入你的專案中! ▌

微前端架構提倡的則是另一種做法:將應用程式垂直拆解, 每個區塊交給一個專責團隊負責, 一條龍地包含從資料庫連接到使用者介面的開發。不同團隊的前端單元會在客戶端的瀏覽器內整合, 構成最終的頁面。用更容易理解的說法, 微前端就像是帶有使用者介面的微服務架構。

聽起來是要每個開發團隊各自為政, 相信有經驗的開發者可能馬上會想到:那採用不同的技術怎麼整合?會不會有效能瓶頸?類似的功能應該很容易重複開發吧?後端伺服器要各自架設?版本控制要各自維護?各做各的那介面怎麼統一?

微前端架構當然不可能毫無缺點, 以團隊的角度, 程式碼或資源的冗餘自然是無可避免, 不過只要配套機制運作得當, 所帶來的可擴展性、靈活性,仍然是利大於弊。本書就要教你怎麼無痛建構、轉換到微前端的開發架構。

別擔心要多學新的框架, 雖然確實有一些完全符合微前端概念的框架可以直接套用, 但作者想強調的是微前端架構的概念和選用時機, 若強迫用特定的框架, 很有可能馬上澆熄你的熱情。因此本書會在現有常見的網路技術規範下, 引入微前端的基本機制, 不管你的網站或應用程式採用哪種技術所建構, 幾乎都可以適用。

為了適用各種不同的情境, 作者提供了超過 20 個開發上的使用案例, 協助你將手上專案順利導入微前端的開發架構。除了技術上的交流, 作者也在書中提供不少團隊開發該留意的經驗分享, 界定好開發團隊的責任歸屬, 做好跨團隊間的溝通協調, 讓微前端架構發揮最大價值。

如果你受夠巨無霸一大包的前端單體架構所帶來的諸多困擾, 有了上述這些指引, 現在正是導入微前端架構的好時機, 對於新一代網頁開發人員、架構師或團隊領導者, 相信會帶來非常大的助益。

本書特色:

  全書共收錄超過 20 個微前端架構的使用案例, 從簡單的超連結、iframe 和 Ajax 入門, 到較為複雜的 SSI 伺服器端內嵌、ESI、Tailor、Podium、Web Components 以及 app shell、通用渲染等, 並且讓你可以靈活將這些工具和技巧應用於真實情境中。

●
將不同的應用程式建構為統一的前端頁面。
●
無縫整合採用各種框架的 JavaScript 程式碼。
●
各種伺服端與客戶端的整合技術與頁面路由技巧。
●
協助釐清專案需求, 挑選正確的架構及整合技術。
●
建構設計系統的樣式庫, 提供一致性的 UI/UX。
●
提高團隊開發效率並優化專案執行流程。

作者簡介:

  本書作者 Michael Geers 是一位專注於建構使用者介面的軟體工程師, 目前任職於德國奧斯納貝克的一間電子商務服務公司, 過去十多年參與許多大型的電子商務專案, 他熱愛各種前端技術, 並熱衷於系統設計與改善網頁性能, 也是 micro-frontends.org 網站的創辦人。

目錄:

  ▌第一篇 踏上微前端的道路 ▌
第 1 章 章 何謂微前端?

1.1
從大處著眼──微前端概觀
1.2
微前端解決了那些問題?
1.3
微前端的缺點
1.4
你何時應該採納微前端?

第 2 章 我的第一個微前端專案:超連結及 iframe 整合
2.1
拖曳機商店
2.2
透過超連結轉頁
2.3
透過iframe來組合頁面
2.4
接下來做什麼?

▌
第二篇 路由、整合及溝通 ▌
第 3 章 以 Ajax 整合區塊並使用伺服器端路由

3.1
透過Ajax整合
3.2
透過Nginx做伺服器端路由

第 4 章 伺服器端整合:SSI 與代理伺服器
4.1
透過Nginx與伺服器端內嵌(SSI)來整合
4.2
頁面區塊出錯的處理方式
4.3
深入了解標記檔整合的效能
平行載入、巢狀頁面區塊、延遲載入、首位元組時間(TTFB)及串流
4.4
其他解決方案的快速介紹
邊緣內嵌(ESI)、ZalandoTailor、Podium
4.5
伺服器端整合的優缺點

第 5 章 客戶端整合:使用 Web Components及 Shadow DOM
5.1
以WebComponents封裝微前端區塊
5.2
使用ShadowDOM做樣式分離
5.3
使用WebComponents做整合的優缺點

第 6 章 溝通模式:網址、屬性與事件
6.1
使用者介面溝通
主頁面對頁面區塊、頁面區塊對主頁面、頁面區塊對頁面區塊、以BroadcastChannelAPI、適合使用跨UI溝通的時機
6.2
其他溝通機制
全域contextinformation及身分驗證.、管理狀態、前後端溝通、資料複製

第 7 章 客戶端路由與 app shell:統一單體應用程式
7.1
平面式路由的appshell
7.2appshell
與雙層路由
7.3
快速認識single-spa元框架
7.4
開發統一單頁應用程式的挑戰

第 8 章 前後端整合技巧及通用渲染
8.1
結合伺服器端及客戶端整合
SSI
及網頁元件、團隊之間的契約、其他解決方案
8.2
何時該使用通用渲染?

第 9 章 我的專案適合何種架構?
9.1
專有名詞回顧
9.2
複雜度比較
9.3
你是在打造網頁還是應用程式?
9.4
挑選正確的架構及整合技術

▌
第三篇 如何做得快、一致且有效率 ▌
第 10 章 載入資源最佳化
10.1
資源參照策略
直接參照、快取破壞及獨立部署、透過重新導向來參照、透過include來參照、同步標記語言檔及檔案版本號、行內程式碼、Tailor、Podium等整合方案
10.2bundle (
打包檔) 的拆分程度
HTTP/2
、全包bundle、團隊bundle、頁面及頁面區塊bundle
10.3
隨選載入
代理微前端、延遲載入CSS

第 11 章 效能是關鍵:減少冗餘函式庫
11.1
以效能為出發點來制定架構
11.2
第三方函式庫:縮減與重複利用

第 12 章 使用者介面及設計系統
12.1
為何需要一套設計系統?
設計系統的目的與角色、設計系統的好處
12.2
中央設計系統vs.獨立自主的團隊
12.3
執行期間整合vs.建置階段整合
12.4
樣式庫的成品:通用vs.專用
12.5
中央樣式庫該包含什麼?

第 13 章 以 Ajax 整合區塊並使用伺服器端路由
13.1
調整系統與團隊
13.2
知識共享
13.3
橫切關注點
13.4
技術多樣性

第 14 章 系統遷移、本地開發及測試
14.1
遷移
漸進式遷移、前端優先、綠地專案及『大霹靂』
14.2
本機開發
14.3
測試

展開看更多

作者介紹

本書作者 Michael Geers 是一位專注於建構使用者介面的軟體工程師, 目前任職於德國奧斯納貝克的一間電子商務服務公司, 過去十多年參與許多大型的電子商務專案, 他熱愛各種前端技術, 並熱衷於系統設計與改善網頁性能, 也是 micro-frontends.org 網站的創辦人。

規格

誠品貨碼 / 2682446588007
ISBN13 / 9789863127109
ISBN10 /
EAN貨碼 / 9789863127109
頁數 / 416
裝訂 / P:平裝
語言 / 1:中文/繁體
尺寸 / 23*17*2.5
級別 / N:無
重量(g) / 914
提供維修 / 無

退貨說明

退貨須知:

  1. 依照消費者保護法的規定,您享有商品貨到次日起七天猶豫期(含例假日)的權益(請注意!猶豫期非試用期),辦理退貨之商品必須是全新狀態(不得有刮傷、破損、受潮)且需完整(包含全部商品、配件、原廠內外包裝、贈品及所有附隨文件或資料的完整性等)。
  2. 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原廠包裝損毀將可能被認定為已逾越檢查商品之必要程度,本公司得依毀損程度扣除回復原狀必要費用(整新費)後退費;請您先確認商品正確、外觀可接受,再行拆封,以免影響您的權利;若為產品瑕疵,本公司接受退貨。

依「通訊交易解除權合理例外情事適用準則」,下列商品不適用七日猶豫期,除產品本身有瑕疵外,不接受退貨:

  1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮蔬果、乳製品、冷凍冷藏食材、蛋糕)
  2. 依消費者要求所為之客製化給付。(如:客製印章、鋼筆刻字)
  3. 報紙、期刊或雜誌。
  4. 經消費者拆封之影音商品或電腦軟體。
  5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書)
  6. 已拆封之個人衛生用品。(如:內衣褲、襪類、褲襪、刮鬍刀、除毛刀等貼身用品)
  7. 國際航空客運服務。

若您退貨時有下列情形,可能被認定已逾越檢查商品之必要程度而須負擔為回復原狀必要費用(整新費),或影響您的退貨權利,請您在拆封前決定是否要退貨:

  1. 以數位或電磁紀錄形式儲存或著作權相關之商品(包含但不限於CD、VCD、DVD、電腦軟體等) 包裝已拆封者(除運送用之包裝以外)。
  2. 耗材(包含但不限於墨水匣、碳粉匣、紙張、筆類墨水、清潔劑補充包等)之商品包裝已拆封者(除運送用之包裝以外)。
  3. 衣飾鞋類/寢具/織品(包含但不限於衣褲、鞋子、襪子、泳裝、床單、被套、填充玩具)或之商品缺件(含購買商品、附件、內外包裝、贈品等)或經剪標或下水或商品有不可回復之髒污或磨損痕跡。
  4. 食品、美容/保養用品、內衣褲等消耗性或個人衛生用品、商品銷售頁面上特別載明之商品已拆封者(除運送用之包裝外一切包裝、包括但不限於瓶蓋、封口、封膜等接觸商品內容之包裝部分)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  5. 家電、3C、畫作、電子閱讀器等商品,除商品本身有瑕疵外,退回之商品已拆封(除運送用之包裝外一切包裝、包括但不限於封膜等接觸商品內容之包裝部分、移除封條、拆除吊牌、拆除貼膠或標籤等情形)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  6. 退貨程序請參閱【客服專區→常見問題→誠品線上退貨退款】之說明。
付款/配送