微前端架構

banq發表於2021-10-19

微前端基本上是微服務模式的擴充套件,其中功能擴充套件到前端。因此,微前端帶來了廣泛的優勢,包括部署獨立性、更容易測試功能等。
微前端背後的想法是將 Web 應用程式視為由獨立團隊擁有的功能組合。每個團隊都有自己關心和專攻的不同業務領域。團隊是跨職能的,從資料庫到使用者介面,端到端地開發其功能。
 
微前端背後的核心概念:
  • 技術獨立

每個團隊都應該在不與其他團隊協調的情況下選擇和升級堆疊。自定義元素有助於隱藏實現細節,同時為其他人提供中立的介面。
  • 隔離團隊程式碼

永遠不要共享執行時,即使團隊使用相同的框架。構建自包含的獨立應用程式。不要依賴共享狀態或全域性變數。
  • 建立團隊字首

在尚無法隔離的地方使用命名約定。名稱空間 CSS、本地儲存、事件和 Cookie,以避免衝突並澄清所有權。
  • 優先使用本機瀏覽器功能而不是自定義 API

使用瀏覽器事件進行通訊,而不是構建全域性 PubSub 系統。如果需要構建跨團隊的 API,請儘量保持簡單。
  • 構建彈性網頁設計

即使JavaScript無法執行,這些功能也應該很有用。要提高感知效能,請使用通用渲染和漸進增強。
 
好處:
  • 更好的可擴充套件性
  • 更快的開發,因為團隊可以獨立工作。
  • 您可以在應用程式中使用多個框架。但是,應該謹慎和透明地進行操作以避免混淆。
  • 部署獨立性。您的微前端的交付不會影響整個應用程式。這些更改將準確地影響它所涵蓋的業務流程的那部分。
  • 使用微前端,您可以比以前更順利地升級、更新甚至重寫前端的某些部分。
  • 確保應用程式的其餘部分保持穩定更容易,因為它是獨立的。使用微前端,您不再需要跟蹤整個應用程式。
  • 程式碼庫更小,更易於管理。
  • 更容易聘請專家。使用微前端,您可以尋找專業人員來處理使用特定技術堆疊的應用程式的特定部分,因此您不需要他們瞭解其他團隊使用的技術。
  • 更容易測試,因為您只測試單獨的功能。


 

相關文章