一、概念說到微前端之前先提一下微服務。微服務是為了解決龐大的後端服務帶來的變更與拓展方面的限制,而將一個大型的服務應用分割成若干個顆粒度較小的可獨立開發、測試及部
2021-08-03 05:14:13
說到微前端之前先提一下微服務。微服務是為了解決龐大的後端服務帶來的變更與拓展方面的限制,而將一個大型的服務應用分割成若干個顆粒度較小的可獨立開發、測試及部署的單個子應用。而越來越複雜的前端項目也面臨同樣的問題。於是有了微前端的誕生。
微前端與微服務類似,都是將一個複雜大型的應用程式拆解成顆粒度更小的可以獨立開發、測試及部署的小模組,並通過一些策略方案來確定這些模組之間的依賴關係。
微前端概念誕生於 2016年,Micro Frontends 官網對微前端概念的定義是:
Techniques, strategies and recipes for building a modern web app with multiple teams that can ship features independently.
翻譯成中文為:微前端是構建一個現代 Web 應用所需要的技術、策略和方法,並具備多個團隊獨立開發、部署的特性。
從以上概念可以看出微前端並不是一種新的技術,而是為了提高大型複雜應用的多團隊協作,提升項目的可維護性、拓展性和靈活性,研究出的一種技術策略和方法,它是一種宏觀上的架構模式。
(一)程式碼庫更小,可維護性更高
比起傳統的一整個項目程式碼塊,微前端架構下的程式碼塊更小、更容易開發。還可以避免模組之間的隱式耦合。獨立性更強,維護性更高。
(二) 漸進式升級與迭代
微前端架構可以讓新舊程式碼和諧共存,在重構時,可以一邊將舊的應用逐步翻新,一邊繼續提供新功能,直到整個重構完成。這種增量升級的能力意味著能夠對產品功能進行低風險的局部替換,包括升級依賴項、更替架構、UI 改版等。另一方面,也帶來了技術選型上的靈活性,有助於新技術、新互動模式的實驗性試錯。
(三) 獨立部署
獨立部署在微前端中非常重要,子模組之間只有部署,才能減輕依賴,降低耦合。獨立部署能夠縮小項目變更範圍,降低生產風險。無論前端程式碼在何處託管,每個微前端都應該有連續交付通道,該通道可以構建、測試並將其一直部署到生產環境中。
微前端的理念源自微服務,使用一個主應用作為主體框架和微應用載入器,根據不用的路由載入不同的微應用。微應用之間做到技術隔離,在展示上卻是統一的。
微前端主要用來解決單體應用在相對長的時間跨度下,從一個普通應用變成一個巨石應用(Frontend Monolith)後,隨著而來的應用不可維護問題。
技術棧無關
主框架不限制接入應用的技術棧,微應用具備完全自主權
獨立開發、獨立部署
微應用倉庫獨立,前後端可獨立開發,部署完成後主框架自動完成同步更新
增量升級
在面對各種複雜場景時,我們通常很難對一個已經存在的系統做全量的技術棧升級或重構,而微前端是一種非常好的實施漸進式重構的手段和策略
獨立運行時
每個微應用之間狀態隔離,運行時狀態不共享
好了,關於
好了,關於微前端的知識點就給大家介紹這麼多,後續再給大家補充,希望對大家有所幫助!
相關文章
一、概念說到微前端之前先提一下微服務。微服務是為了解決龐大的後端服務帶來的變更與拓展方面的限制,而將一個大型的服務應用分割成若干個顆粒度較小的可獨立開發、測試及部
2021-08-03 05:14:13
iOS15 支援關機查詢蘋果推出 iOS15 系統已經有一段時間了,雖然釋出會上並沒有說什麼太多的功能,被人戲稱之為 iOS14.8 正式版,但是實際上 iOS15 還是有不少隱藏的功能。例如 iO
2021-08-03 05:14:05
小米如今發展日新月異,可謂是蒸蒸日上,去年成功站穩高階市場腳跟,今年第二季度出貨量成功超越蘋果手機,成為全球第二的手機巨頭,雷軍也將這個訊息稱為「天大」的好訊息,今天小米再
2021-08-03 05:13:58
【8月2日訊】相信大家都知道,經歷了多次延期的華為P50系列手機,終於在7月29日晚間正式釋出上市了,在美國四輪禁令極限打壓之下,華為依舊頂住了壓力,推出了一款各項配置都做到最好
2021-08-03 05:13:51
在AMD正式公佈Radeon RX 6600 XT GPU之後,越來越多AIB廠商的非公版設計Radeon RX 6600 XT顯示卡逐漸被髮布,XFX訊景也是核心AIB廠商之一,並且其一般也在國內發售其海外版產品,現
2021-08-03 05:13:46
果粉之家,專業蘋果手機技術研究十年!您身邊的蘋果專家~彭博社的Mark Gurman爆料道,蘋果將Mac產品線完全過渡到Apple Silicon可能在兩年內完成。他還對未來12個月內的新款Mac做
2021-08-03 05:13:40