當前位置:首頁 » 網頁前端 » 微前端框架對比
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

微前端框架對比

發布時間: 2022-09-20 04:44:43

⑴ web前端那個框架用的最多,在一線大城市中

當下比較熱門的就屬React、Angular、Vue,也是Web前端開發必學的三大框架,只是 Angular 在工作使用頻率會相對較少。

⑵ 前端微服務設計

近些年,前端發展呈百家爭鳴式發展,框架層出不窮,版本更是迭代不窮,難免會出現前端項目技術棧不統一、所用框架版本不統一的情況。
如若某些項目,沒有新的功能加入,又能線上穩定運行,但其技術棧卻用的是 vue1.0,為了將其結合到新應用中去而對其重構,成本會很高。然而,微服務可以幫我們解決這個問題。
在既不重寫原有系統的基礎之下,又可以抽出人力來開發新的業務。其不僅僅對於業務人員來說是一個相當吸引力的特性,對於技術人員來說,不重寫舊的業務,能在一些新技術上做挑戰,也是一件很有意思的事情。
除此之外,在這兩三年裡,移動應用出現了一種趨勢,用戶不想裝那麼多應用。而往往一家大的商業公司,會提供一系列的應用。這些應用也從某種程度上,反應了這家公司的組織架構。然而,在用戶的眼裡他們就是一家公司,他們就只應該有一個產品。相似的,這種趨勢也在桌面 Web 出現。聚合成為了一個技術趨勢,體現在前端的聚合就是微服務化架構。

理想的前端微服務化,應該是符合如下幾個特點:

路由分發式微前端,即通過設置路由,將不同的業務分發到不同的、獨立前端應用上。其通常可以通過 HTTP 伺服器的反向代理來實現,又或者是應用框架自帶的路由來解決。

就當前而言,通過路由分發式的微前端架構應該是採用最多、最易採用的 「微前端」 方案。但是這種方式看上去更像是多個前端應用的聚合,即我們只是將這些不同的前端應用拼湊到一起,使他們看起來像是一個完整的整體。但是,它們並不是一個完整的整體,每次用戶從 A 應用到 B 應用的時候,往往需要刷新一下頁面。
通常可通過 nginx 配置反向代理,來進行路由分發,從而實現前端微服務。

它適用於以下場景:

iframe 可以創建一個全新的獨立的宿主環境,這意味著我們的前端應用之間可以相互獨立運行。

採用 iframe 有幾個重要的前提:

即何時載入、卸載應用,如何監聽應用事件等。

不論是基於 Web Components 的 Angular,或者是 VirtualDOM 的 React 等,現有的前端框架都離不開基本的 HTML 元素 DOM。

那麼,我們只需要:

第一個問題,創建 DOM 是一個容易解決的問題。而第二個問題,則一點兒不容易,特別是移除 DOM 和相應應用的監聽。當我們擁有一個不同的技術棧時,我們就需要有針對性設計出一套這樣的邏輯。現有的框架有single-spa、qiankun、mooa等

常見的方式有:

其次,採用這種方式還有一個限制,那就是:規范! 規范! 規范!。在採用這種方案時,我們需要:

Web Components 組件可以擁有自己獨立的 Scripts 和 Styles,以及對應的用於單獨部署組件的域名。然而它並沒有想像中的那麼美好,要直接使用純 Web Components 來構建前端應用的難度有:

現有的微前端框架有single-spa、qiankun、mooa。其均是在前端框架之上設計通訊、載入機制來實現的。

⑶ qiankun微前端框架處理

https://blog.csdn.net/qq_41694291/article/details/113842872

概念:微前端的概念借鑒於後端的微服務,一般以業務功能為拆分單元
解決問題:大型項目的變更、擴展、維護困難的問題

總體積變大,插件可上傳cdn,但公共函數資源不便於共享

iframe :隔離性和兼容性好,性能和使用感差(性能差因為不會有緩存,每次重新載入)
基座模式 :基於 路由分發 ,由基座監聽路由變化,載入不同的應用,實現應用解耦,single-spa、qiankun
組合式集成 :組件單獨打包發布,類似於npm包
EMP :主要基於Webpack5 Mole Federation
web components

我們採用的是qiankun,主要思路是將一個大應用,拆分為更小的、可獨立開發、測試、部署的子應用。

傳統的大型項目:所有模塊都在一個應用里,由應用本身負責路由管理,屬於 應用分發路由 方式
拆分微應用的項目:屬於基座模式下的系統架構,各應用互相獨立,單獨運行在不同的服務上,基座(基座一般是用戶最終訪問的應用)根據路由去載入不同的應用到頁面上,即 路由分發應用 方式

微前段主要需要解決的問題有兩個

qiankun和single-spa對比

activePath與當前的hash對比一致

⑷ 輕量、高效、功能強大的微前端框架-MicroApp

這幾年後端的微服務是比較火爆,我們公司目前只要是新項目,基本上都是基於微服務去架構的,那麼微前端是什麼呢?

微前端是借鑒了微服務的架構理念,核心在於將一個龐大的前端應用拆分成多個獨立靈活的小型應用,每個應用都可以獨立開發、獨立運行、獨立部署,再將這些小型應用融合為一個完整的應用,或者將原本運行已久、沒有關聯的幾個應用融合為一個應用。微前端既可以將多個項目融合為一,又可以減少項目之間的耦合,提升項目擴展性,相比一整塊的前端倉庫,微前端架構下的前端倉庫傾向於更小更靈活

以前我們為了把幾個獨立運行的小型應用合並成一個應用都是通過iframe的方式去實現的,如果不考慮體驗問題,iframe 幾乎是最完美的微前端解決方案了。

iframe 最大的特性就是提供了瀏覽器原生的硬隔離方案,不論是樣式隔離、js 隔離這類問題統統都能被完美解決。但他的最大問題也在於他的隔離性無法被突破,導致應用間上下文無法被共享,隨之帶來的開發體驗、產品體驗的問題

micro-app不是基於iframe架構的

micro-app提供了js沙箱、樣式隔離、元素隔離、預載入、數據通信、靜態資源補全等一系列完善的開箱即用功能

micro-app沒有任何依賴

為了保證各個業務之間獨立開發、獨立部署的能力,micro-app做了諸多兼容,在任何技術框架中都可以正常運行。

下面我講一下如何在Vue中使用micro-app

1、初始化一個基座應用

2、基座應用的文件修改

main.js修改

router.js修改

3、main-page.vue頁面

4、創建一個子應用

5、子應用的router.js文件修改

6、src目錄下新建 public-path.js

7、 main.js 引入public-path.js

到此這個簡單的微應用就搭好了

覺得效果不錯的請幫忙加個關注點個贊,經常分享前端實用開發技巧

⑸ 阿里 qiankun 微前端框架實踐

qiankun ——— 一套完整的微前端解決方案: https://github.com/umijs/qiankun

如圖所示,在qiankun框架中,有主程序與子程序。主程序會留出指定的DOM作為子程序的容器,並且通過主程序里的路由轉發載入子應用。

修改主程序main.js注冊子應用

修改主程App.vue注冊子應用的容器

main.js

Demo: github.com/justworkhar…

與傳統的父子組件通信一樣,父程序通過props向子程序傳遞信息。子程序通過回調函數向父程序傳遞信息。

qiankun框架說白了就是通過在主程中添加一個展示子程序的DOM,經過路由判斷做轉發載入子程序。

⑹ 前端框架有哪些

1. Twitter BootStrap (Apache v2.0;響應式)
時髦、直觀並且強大的前端框架,讓Web開發變得更加容易。

2. Foundation (MIT;響應式)
最先進的響應式前端框架。
3. 960gs(GPL&MIT;響應式)
960gs提供了一個簡單的網格系統,適合快速開發。
4. Skeleton(MIT;響應式)
非常漂亮的Web模板,適合響應式、移動友好的開發。
5. 99lime HTML KickStart(Free)
適合網站快速開發的極簡HTML構建模塊。
6. Kube(Free;響應式)
面向專業人員的CSS框架。
7. Less Framework(MIT;響應式)
自適應的CSS網格系統。
8. Flameinwork(Free)
適合懶人開發者的前端微框架。
9. G5 Framework(Free)
(x)HTML5、CSS、PHP前端開發框架。
10. Easy Framework(Free)
Easy Framework是一個一體化前端解決方案,分structural、 presentational、interactive三層。
11. Blueprint(Free)
一個旨在減少開發時間的前端框架。
12. YAML(Creative Commons)
(x)HTML+CSS框架,適合開發現代化浮動布局。
13. BlueTrip(Free)
一個功能全面、並且美麗的CSS框架,適合於Blueprint搭配使用。
14. YUI3:Grids CSS(BSD)
YUI Grids CSS是最著名的CSS框架之一,是由Yahoo開發小組開發而成。 YUI Grids CSS為開發者提供了預先設置的四種不同頁面寬度,六種不同的模板。
15. 52framework(Creative Commons)
對HTML5支持非常好,簡單易用。
16. elastiCSS(MIT)
一個基於Web介面和印刷布局的簡單CSS框架。
17. Emastic(Free)
一個與眾不同的CSS框架。
18. Fluid 960 Gride System(GPL/MIT)

Fluid 960 Grid System的模版是根據Nathan Smith之前的作品而創建的。即960 Grid System:傳承了MooTools和jQuery JavaScript libraries的效果。
19. xCSS(MIT)
一個面向對象的CSS框架,能讓你的工作流更加簡潔。xCSS基於CSS,可以在開發復雜樣式時,提供面向對象的工作流。
20. EM CSS Framework(MIT/GPL)
EM CSS Framework提供了一個960px寬 + 12 列網格系統 + CSS的通用樣式。

⑺ 響應式前端框架有哪些

  1. Twitter BootStrap (Apache v2.0;響應式)
    時髦、直觀並且強大的前端框架,讓Web開發變得更加容易。
    2. Foundation (MIT;響應式)
    最先進的響應式前端框架。
    3. 960gs(GPL&MIT;響應式)
    960gs提供了一個簡單的網格系統,適合快速開發。
    4. Skeleton(MIT;響應式)
    非常漂亮的Web模板,適合響應式、移動友好的開發。
    5. 99lime HTML KickStart(Free)
    適合網站快速開發的極簡HTML構建模塊。
    6. Kube(Free;響應式)
    面向專業人員的CSS框架。
    7. Less Framework(MIT;響應式)
    自適應的CSS網格系統。
    8. Flameinwork(Free)
    適合懶人開發者的前端微框架。
    9. G5 Framework(Free)
    (x)HTML5、CSS、PHP前端開發框架。
    10. Easy Framework(Free)
    Easy Framework是一個一體化前端解決方案,分structural、 presentational、interactive三層。
    11. Blueprint(Free)
    一個旨在減少開發時間的前端框架。
    12. YAML(Creative Commons)
    (x)HTML+CSS框架,適合開發現代化浮動布局。
    13. BlueTrip(Free)
    一個功能全面、並且美麗的CSS框架,適合於Blueprint搭配使用。
    14. YUI3:Grids CSS(BSD)
    YUI Grids CSS是最著名的CSS框架之一,是由Yahoo開發小組開發而成。 YUI Grids CSS為開發者提供了預先設置的四種不同頁面寬度,六種不同的模板。
    15. 52framework(Creative Commons)
    對HTML5支持非常好,簡單易用。
    16. elastiCSS(MIT)
    一個基於Web介面和印刷布局的簡單CSS框架。
    17. Emastic(Free)
    一個與眾不同的CSS框架。
    18. Fluid 960 Gride System(GPL/MIT)
    Fluid 960 Grid System的模版是根據Nathan Smith之前的作品而創建的。即960 Grid System:傳承了MooTools和jQuery JavaScript libraries的效果。
    19. xCSS(MIT)
    一個面向對象的CSS框架,能讓你的工作流更加簡潔。xCSS基於CSS,可以在開發復雜樣式時,提供面向對象的工作流。
    20. EM CSS Framework(MIT/GPL)
    EM CSS Framework提供了一個960px寬 + 12 列網格系統 + CSS的通用樣式。

    21.Ant Design

    22.Element UI

⑻ 常用的前端框架有哪些

1. Twitter BootStrap (Apache v2.0;響應式)
時髦、直觀並且強大的前端框架,讓Web開發變得更加容易。

2. Foundation (MIT;響應式)
最先進的響應式前端框架。
3. 960gs(GPL&MIT;響應式)
960gs提供了一個簡單的網格系統,適合快速開發。
4. Skeleton(MIT;響應式)
非常漂亮的Web模板,適合響應式、移動友好的開發。
5. 99lime HTML KickStart(Free)
適合網站快速開發的極簡HTML構建模塊。
6. Kube(Free;響應式)
面向專業人員的CSS框架。
7. Less Framework(MIT;響應式)
自適應的CSS網格系統。
8. Flameinwork(Free)
適合懶人開發者的前端微框架。
9. G5 Framework(Free)
(x)HTML5、CSS、PHP前端開發框架。
10. Easy Framework(Free)
Easy Framework是一個一體化前端解決方案,分structural、 presentational、interactive三層。
11. Blueprint(Free)
一個旨在減少開發時間的前端框架。
12. YAML(Creative Commons)
(x)HTML+CSS框架,適合開發現代化浮動布局。
13. BlueTrip(Free)
一個功能全面、並且美麗的CSS框架,適合於Blueprint搭配使用。
14. YUI3:Grids CSS(BSD)
YUI Grids CSS是最著名的CSS框架之一,是由Yahoo開發小組開發而成。 YUI Grids CSS為開發者提供了預先設置的四種不同頁面寬度,六種不同的模板。
15. 52framework(Creative Commons)
對HTML5支持非常好,簡單易用。
16. elastiCSS(MIT)
一個基於Web介面和印刷布局的簡單CSS框架。
17. Emastic(Free)
一個與眾不同的CSS框架。
18. Fluid 960 Gride System(GPL/MIT)

Fluid 960 Grid System的模版是根據Nathan Smith之前的作品而創建的。即960 Grid System:傳承了MooTools和jQuery JavaScript libraries的效果。
19. xCSS(MIT)
一個面向對象的CSS框架,能讓你的工作流更加簡潔。xCSS基於CSS,可以在開發復雜樣式時,提供面向對象的工作流。
20. EM CSS Framework(MIT/GPL)
EM CSS Framework提供了一個960px寬 + 12 列網格系統 + CSS的通用樣式。

⑼ 微前端如何兼容不同框架

要下載兼容軟體。
微前端想要兼容不同的框架需要我們下載兼容軟體,因為正常的手機是不允許兼容不同框架的。
微前端正常是只能使用同一個框架,如果是特殊應用可以兼容多個框架。

⑽ 前端常用的框架有哪些

一、 Web前端框架之Angular 2+
Angular 2+優點解析:
Angular 2+ 的最大優勢在於它的流行程度。也有人認為它和 Google 密切相關的名字,會影響團隊使用它。Angular 1 的迅速流行是因為那些來自其他互動式應用程序開發環境的人會發現對於開發單頁面 Web 應用程序具有相似的模型-視圖模式。通過對 Angular 1 進行現代化演變和重新構建框架的某些部分,Angular 2+ 已經真正的爆發了,大量的正式的和非正式培訓機構數量都讓人印象深刻,開發者有很強的市場競爭力。對於用戶來說它有一套用於構建用戶界面的豐富組件,這也是本系列中少有的幾個框架能夠做到這點。
缺點解析:
我們覺得 Angular 框架著重於在單個頁面應用程序中創建用戶界面並沒有處理構建完整的 Web 應用這個更大的關注點,如果不及早確定下來,這將會導致整個項目難以維護,在實際項目中,運行時提供不屬於核心框架的技術往往讓人覺得不可思議,這大大降低了 TypeScript 對最終開發者的價值。
發展方向:
Angular 5 剛剛發布,這看來是 Angular 已經成功的印證了快速發布版本的承諾,在 Google 的持續支持下,Angular 會越來越成熟。
像許多的大型組織一樣,Google 具有多重(分裂)的人格,從外表上看,Angular 團隊和那些專注於瀏覽器標準的團隊之間顯得很和諧。但我們的觀點是,和諧只是一層薄薄的窗戶紙。Angular 團隊對於 Web 組件和漸進式 Web 應用沒有一個真正解決方案。我們認為,業界普遍認可的標准將會在 Angular 框架中會逐步實現,這將會影響到如何更好的構建 Angular 應用將成為一個中/長期的風險。
使用環境:
如果你需要在一個大型的框架內獲取技術資源,框架內的技術通常很容易移植;或者你需要在框架中訓練開發人員,並且還要有一定的信心,他們會在短期內獲得一定的開發能力,這樣的話你可以考慮 Angular 2+ 。需要注意的是 Angular1(angular.js)與 Angular2+ 是截然不同的,其中的應用、技術和經驗不能直接移植到 Angular2+ 的開發中去。
如果你的 Web 應用能夠很好的轉化為標準的模型-視圖模式,那麼你也可以忽略其他直接考慮使用 Angular2+ 。
如果你對 Google Material UX 設計模式滿意,那麼 Material Angular 是遵循該模式的一種快速、簡單且可靠的方式。
二、Web前端框架之React + Rex
React + Rex優勢解析:
React 和 Rex 的最大優勢在於它們相對簡單和專注。做一件事情並把它做好是非常困難的,但這兩個庫都很有效地完成了它們的目標。雖然對於某些狀態容器方法可能是外部的,但大多數開發人員還是可以輕松掌握概念,並了解單向數據體系結構的好處,簡化大量的用戶界面應用程序。
缺點解析:
React 和 Rex 最大的弱點不是它們是什麼,而是它們不是什麼。要構建一個功能豐富的 Web 應用程序,你需要許多功能,一旦脫離 React 和 Rex 和其他一些庫的核心,你將發現一個非常分散的社區,擁有無數的解決方案和模式,不容易整合在一起。
因此,雖然 React 和 Rex 都是非常專注的庫,但缺乏經驗的團隊還是會很容易地生成不可維護的解決方案,而不是意識到他們所做的選擇會導致性能不佳或錯誤。即使有經驗的開發人員也可能意識到,一個鬆散的架構或慣例可能會在未來困擾他們。
假省錢是一種對自己的欺騙,組織范圍內採用 React 和 Rex 將輕松降低無效率問題。沒有其他庫和模式的廣泛約定和標准化,標准化 React + Rex 比較於我們正在採用的 JavaScript 來編寫我們的應用程序效率要高。
發展方向:
Facebook 和 React 最近從繁瑣的附加專利糾紛中抽離,他們認識到,就像其他項目一樣,更廣泛的社區能夠提高自己的聲音。我覺得這有助於 Facebook 意識到他們還不能更好地了解我們,相信我們來引導項目。希望這將繼續貫穿項目的特點和技術方向。
很難預測 React 和 Rex 的未來。但是,將庫集中在一起,確實會顯著提高適應性,大多數React + Rex 模式都會促進一個分離的體系結構,從而可以輕松地進行重構和迭代。兩年前,大家喜歡的還是React + Flux,但整個社區很快就擁抱了Rex。思維或模式的其他重大轉變可能很容易被採納。這種關鍵能力可能會持續到未來。
使用環境:
如果你很少需要手把手指導,並且正在尋找更好的庫而不是全面的框架,那麼 React + Rex 可能是正確的。在這一過程中,你不僅需要對你的團隊和組織的能力保持誠實,還要在你的初始開發過程中,以及在整個應用程序的長期維護過程中保持誠實。
三、Web前端框架之Vue.js
vue.js優勢介紹:
漸進式構建能力是vue.js最大的優勢,vue 有一個簡潔而且合理的架構,使得它易於理解和構建。
vue 有一個強大的充滿激情人群的社區,這為vue.js增加了巨大的價值,使得為一個空白項目創建一個綜合的解決方案變得十分容易。
缺點介紹:
在模型-視圖應用程序和狀態容器類型的應用程序之間的互相轉換可能會令人感到困惑,即使沒有完美包含一個模式到另一個模式的完美轉換,但讓人感覺希望能維持兩個模式的相關性。對於那些期待vue.js完美解決方案,並可能導致難以維護不一致的應用程序的人來說,這至少是令人困惑的。
一個更大的挑戰是vue.js依賴於一個單獨的人,很明顯,其他的項目基本是由一個組織提供支持,但這讓人感覺更加有意義,雖然它有一個強大文件的社區和許多有創新的新增項目,但是 vue 核心的開發基本落在一個人身上。
我們很高興看到 vue 更加容易接受新興的標准方法,但是它的類似於 Web 組件的模式,而不是真正的 Web 組件,這可能是 vue 所得不償失的地方。
發展前景:
雖然vue.js有相當廣泛的應用,但也很難預測在中期發展中這個勢頭能持續多久,它不是由一個商業組織直接支持並維護,因此,這很大程度上依賴於維護者的生存能力和繼續維護下去的願望來決定。
它也表現出了一定程度的語言適應能力,並且隨著某些模式的落伍和失寵而繼續保持自身語言的現代化和時代性,目前沒有跡象表明vue.js架構將來無法適應進一步發展。
使用場景:
如果你有一個傳統的Web應用程序,並需要一個強壯穩健的應用程序層,那麼vue.js 可能是一個很好的選擇,它有清晰的模式,即使沒有經驗的團隊也能正確或者錯誤的使用它。盡管vue UX框架沒有開箱即用的功能,但在vue.js上也能大量持續性構建應用,這將有利於你的項目。