日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
你需要了解的幾種微前端解決方案

 文章將講述業(yè)界各大知名IT企業(yè)使用的微前端解決方案,以及其帶來的利弊之處,因為那些弊端,使得我們團隊自己探究了一套目前認為最好的微前端解決方案。通過本文,可以快速幫您理清楚微前端方案的利弊,從而做出有利于您團隊的更好更明智的選擇。

成都創(chuàng)新互聯(lián)公司主要從事做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)海城,10年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220

一、寫在前面

在之前的文章中,我們已經(jīng)深入剖析了 微前端究竟是什么,可以帶來什么收益 ,現(xiàn)在讓我們復習一下微前端的概念:

 
 
 
  1. Techniques, strategies and recipes for building a modern web app with multiple teams that can ship features independently. 

中文釋義:

可以由多個團隊獨立開發(fā)的現(xiàn)代web應(yīng)用程序的技術(shù)、策略和方案。

本文則是在此基礎(chǔ)上對現(xiàn)有的微前端解決方案進行對比總結(jié),廢話少說,讓我們開始今天的課題。

二、現(xiàn)有微前端解決方案

查找了大量的資料后,我總結(jié)了以下主流的能夠真正實現(xiàn)微前端概念的解決方案,如有遺漏,歡迎小伙伴們補充~

1、iframe

眾所周知, iframe 是 html 提供的標簽, 能加載其他web應(yīng)用的內(nèi)容 ,并且它能兼容所有的瀏覽器,因此,你可以用它來 加載任何你想要加載的web應(yīng)用 。

iframe最大的特性就是提供了瀏覽器原生的硬隔離方案,不論是樣式隔離、js 隔離這類問題統(tǒng)統(tǒng)都能被完美解決。讀到這時,相信小伙伴們跟我一樣,覺得iframe與微前端概念中提到的 獨立開發(fā) 、 獨立維護 、 相互隔離 非常的吻合,有種直接上ifame就完事兒了的想法,但為何它到現(xiàn)在也不是微前端主要的實現(xiàn)方式呢,后來有幸拜讀了 qiankun技術(shù)圓桌 中一篇關(guān)于微前端 Why Not Iframe 的思考,總結(jié)的很到位,現(xiàn)復述其中的一段描述

iframe雖然基本能做到微前端所要做的所有事情,但它的最大問題也在于他的隔離性無法被突破,導致應(yīng)用間上下文無法被共享,隨之帶來開發(fā)體驗、產(chǎn)品體驗的問題。

以下是我對該文中總結(jié)部分的總結(jié):

  • 不是單頁應(yīng)用,會導致瀏覽器刷新 iframe url 狀態(tài)丟失、后退前進按鈕無法使用。

  • 彈框類的功能無法應(yīng)用到整個大應(yīng)用中,只能在對應(yīng)的窗口內(nèi)展示。

  • 由于可能應(yīng)用間不是在相同的域內(nèi),主應(yīng)用的 cookie 要透傳到根域名都不同的子應(yīng)用中才能實現(xiàn) 免登錄 效果。

  • 每次子應(yīng)用進入都是一次瀏覽器上下文重建、資源重新加載的過程,占用大量資源的同時也在極大地消耗資源。

  • iframe的特性導致搜索引擎無法獲取到其中的內(nèi)容,進而無法實現(xiàn)應(yīng)用的 seo

我猜,以上原因便是 iframe 沒能作為官方微前端方案的原因吧。

2、Web Components

或許很多小伙伴對 Web Components 不是很了解,它是由 google 推出的瀏覽器的原生組件, MDN 對 Web Components 的定義是這樣的:

作為開發(fā)者,我們都知道盡可能多的重用代碼是一個好主意。這對于自定義標記結(jié)構(gòu)來說通常不是那么容易 — 想想復雜的HTML(以及相關(guān)的樣式和腳本),有時您不得不寫代碼來呈現(xiàn)自定義UI控件,并且如果您不小心的話,多次使用它們會使您的頁面變得一團糟。

Web Components旨在解決這些問題 — 它由三項主要技術(shù)組成,它們可以一起使用來創(chuàng)建封裝功能的定制元素,可以在你喜歡的任何地方重用,不必擔心代碼沖突。

它的 三項主要技術(shù) 是指:

  • Custom elements(自定義元素):一組JavaScript API,允許您定義custom elements及其行為,然后可以在您的用戶界面中按照需要使用它們。

  • Shadow DOM(影子DOM):一組JavaScript API,用于將封裝的“影子”DOM樹附加到元素(與主文檔DOM分開呈現(xiàn))并控制其關(guān)聯(lián)的功能。通過這種方式,您可以保持元素的功能私有,這樣它們就可以被腳本化和樣式化,而不用擔心與文檔的其他部分發(fā)生沖突。

  • HTML templates(HTML模板):