發(fā)布時(shí)間:2022-03-26 09:01:21來(lái)源:魔方格
web前端框架有哪些?Web前端常用的js框架主要有20種,分別為MobX、Ractive.js、WebRx、Deku、Roit.js、Mithril、Vue.js、Angular.js、jQuery、React、Polymer、Node.js、Meteor、D3.js、Ember、Aurelia、Knockout等。
1、MobX。MobX 支持單向數(shù)據(jù)流,也就是動(dòng)作改變狀態(tài),而狀態(tài)的改變會(huì)更新所有受影響的視圖。
當(dāng)狀態(tài)改變時(shí),所有衍生都會(huì)進(jìn)行原子級(jí)的自動(dòng)更新。因此永遠(yuǎn)不可能觀察到中間值。
2、Ractive.js。active是在The Guardian theguardian.com上創(chuàng)建的,用于制作新聞應(yīng)用程序。典型的新聞應(yīng)用是高度互動(dòng)的,結(jié)合了HTML和SVG,并且是在期限壓力下開(kāi)發(fā)的。它必須跨瀏覽器可靠地工作,即使在移動(dòng)設(shè)備上也能很好地運(yùn)行。
3、WebRx。WebRx是一個(gè)基于瀏覽器的MVVM-Framework,它將功能反應(yīng)編程與聲明性數(shù)據(jù)綁定,模板和客戶(hù)端路由相結(jié)合。
該框架構(gòu)建于ReactiveX for Javascript(RxJs)之上,它是一組功能強(qiáng)大的庫(kù),用于處理和查詢(xún)異步數(shù)據(jù)流,這些數(shù)據(jù)流可以來(lái)自不同的來(lái)源,如Http-Requests,Input-Events,Timers等等。
4、Deku。Deku是一個(gè)使用純函數(shù)和虛擬DOM渲染接口的庫(kù)。
Deku只使用函數(shù)并將所有狀態(tài)管理和副作用的責(zé)任推送到像Redux這樣的工具,而不是使用類(lèi)和本地狀態(tài)。它還旨在僅支持現(xiàn)代瀏覽器以保持簡(jiǎn)單。
5、Roit.js。Riot為所有現(xiàn)代瀏覽器帶來(lái)了自定義組件。它旨在為您提供Web組件API所需的所有本機(jī)。
6、Mithril。用于構(gòu)建單頁(yè)應(yīng)用程序的現(xiàn)代客戶(hù)端Javascript框架。它很小(9.55 KB gzip),速度快,提供開(kāi)箱即用的路由和XHR實(shí)用程序。
7、Vue.js。Vue(發(fā)音為/vju?/視圖)是用于構(gòu)建用戶(hù)界面的漸進(jìn)式框架。它從一開(kāi)始就設(shè)計(jì)為可逐步采用,并且可以根據(jù)不同的用例在庫(kù)和框架之間輕松擴(kuò)展。它由一個(gè)僅關(guān)注視圖層的可訪問(wèn)核心庫(kù)和一個(gè)支持庫(kù)的生態(tài)系統(tǒng)組成,可幫助您解決大型單頁(yè)面應(yīng)用程序的復(fù)雜性問(wèn)題。
8、Angular.js。AngularJS允許您編寫(xiě)客戶(hù)端Web應(yīng)用程序,就像您擁有更智能的瀏覽器一樣。它允許您使用好的舊HTML(或HAML,Jade / Pug和朋友!)作為模板語(yǔ)言,并允許您擴(kuò)展HTML的語(yǔ)法,以清晰簡(jiǎn)潔地表達(dá)您的應(yīng)用程序的組件。
它通過(guò)雙向數(shù)據(jù)綁定自動(dòng)將UI(視圖)中的數(shù)據(jù)與JavaScript對(duì)象(模型)同步。為了幫助您更好地構(gòu)建應(yīng)用程序并使其易于測(cè)試,AngularJS教會(huì)瀏覽器如何進(jìn)行依賴(lài)注入和控制反轉(zhuǎn)。
9、jQuery。Query是一個(gè),小巧,功能豐富的JavaScript庫(kù)。它通過(guò)易于使用的API在大量瀏覽器中運(yùn)行,使得HTML文檔遍歷和操作,事件處理,動(dòng)畫(huà)和Ajax變得更加簡(jiǎn)單。通過(guò)多功能性和可擴(kuò)展性的結(jié)合,jQuery改變了數(shù)百萬(wàn)人編寫(xiě)JavaScript的方式。
10、React。React 組件使用一個(gè)名為 render() 的方法,接收輸入的數(shù)據(jù)并返回需要展示的內(nèi)容。在示例中這種類(lèi)似 XML 的寫(xiě)法被稱(chēng)為 JSX。被傳入的數(shù)據(jù)可在組件中通過(guò) this.props 在 render() 訪問(wèn)。
11、Polymer。Polymer 庫(kù)提供用于創(chuàng)建自定義元素的一組功能。這些功能的設(shè)計(jì),使其更容易、更快地創(chuàng)建像標(biāo)準(zhǔn)的 DOM 元素一樣工作的自定義元素。
12、Node.js。Node.js®是基于Chrome的V8 JavaScript引擎構(gòu)建的JavaScript運(yùn)行時(shí)。
13、Meteor。Meteor是一個(gè)用于構(gòu)建現(xiàn)代Web應(yīng)用程序的超簡(jiǎn)單環(huán)境。
14、D3.js。D3.js是一個(gè)用于根據(jù)數(shù)據(jù)操作文檔的JavaScript庫(kù)。D3可幫助您使用HTML,SVG和CSS將數(shù)據(jù)變?yōu)楝F(xiàn)實(shí)。D3對(duì)Web標(biāo)準(zhǔn)的強(qiáng)調(diào)為您提供了現(xiàn)代瀏覽器的全部功能,而無(wú)需將自己與專(zhuān)有框架聯(lián)系起來(lái),將強(qiáng)大的可視化組件和數(shù)據(jù)驅(qū)動(dòng)方法結(jié)合到DOM操作中。
15、Ember。Ember.js是一個(gè)JavaScript框架,可以大大減少構(gòu)建任何Web應(yīng)用程序所需的時(shí)間,精力和資源。它致力于通過(guò)執(zhí)行大多數(shù)Web開(kāi)發(fā)項(xiàng)目中涉及的所有常見(jiàn),重復(fù)但必不可少的任務(wù),使您(開(kāi)發(fā)人員)盡可能地工作。
16、Aurelia。Aurelia是一個(gè)現(xiàn)代的前端JavaScript框架,用于構(gòu)建瀏覽器,移動(dòng)和桌面應(yīng)用程序。它側(cè)重于與Web平臺(tái)規(guī)范緊密結(jié)合,使用約定優(yōu)于配置,并具有小的框架入侵。
17、Knockout。Knockout是一個(gè)JavaScript MVVM(MVC的現(xiàn)代變體)庫(kù),可以更輕松地使用JavaScript和HTML創(chuàng)建豐富的,類(lèi)似桌面的用戶(hù)界面。它使用觀察器使您的UI自動(dòng)與底層數(shù)據(jù)模型保持同步,以及一組功能強(qiáng)大且可擴(kuò)展的聲明性綁定,以實(shí)現(xiàn)的開(kāi)發(fā)。
18、Keystore。KeystoneJS是一個(gè)功能強(qiáng)大的Node.js內(nèi)容管理系統(tǒng)和基于Express Web框架和Mongoose ODM構(gòu)建的Web應(yīng)用程序框架。Keystone可以輕松創(chuàng)建復(fù)雜的網(wǎng)站和應(yīng)用程序,并附帶一個(gè)漂亮的自動(dòng)生成的管理UI。
19、Backbone。Backbone.js的提供給結(jié)構(gòu)的Web應(yīng)用程序的模型與鍵值綁定和自定義事件, 收集與枚舉功能豐富的API, 觀點(diǎn)與陳述事件處理,而這一切在一個(gè)RESTful JSON接口連接到現(xiàn)有的API。
20、Zepto。Zepto是一個(gè)用于現(xiàn)代瀏覽器的極簡(jiǎn)主義JavaScript庫(kù),具有與jQuery兼容的API。
總結(jié):每個(gè)框架都有自己的特點(diǎn),大家在前端開(kāi)發(fā)個(gè)過(guò)程中可以根據(jù)自己的需求去選擇新地應(yīng)用對(duì)應(yīng)的前端框架開(kāi)發(fā)項(xiàng)目。如果是在前端培訓(xùn)學(xué)習(xí)過(guò)程中的話(huà)則可以把老師講的重點(diǎn)記錄了解,其余的框架簡(jiǎn)單了解就可以。