angularjs與jquery的區(qū)別

2018-04-24 10:23 更新

Angularjs和jQuery是當(dāng)前兩個(gè)比較好用的前端開(kāi)發(fā)工具,下面就簡(jiǎn)單來(lái)說(shuō)說(shuō)這兩者之間的區(qū)別吧。


概念不同:

從概念上看,Angularjs屬于前端框架,我們寫(xiě)的代碼都被其調(diào)用;而jQuery則是一個(gè)封裝了很多功能的庫(kù),我們需要調(diào)用jQuery中的API去實(shí)現(xiàn)一些功能。


開(kāi)發(fā)模式存在差異

AngularJS與jQuery在web應(yīng)用開(kāi)發(fā)模式上有著完全不同的思路:

jQuery:通過(guò)顯示操作瀏覽器中的DOM來(lái)創(chuàng)建應(yīng)用程序(適合回合式應(yīng)用),對(duì)于比較大型且復(fù)雜項(xiàng)目,jQuery不利于全面的單元測(cè)試;

AngularJS:將瀏覽器吸收為應(yīng)用程序的基礎(chǔ)(適合單頁(yè)應(yīng)用),比較適合大型及復(fù)雜項(xiàng)目,對(duì)于全面的單元測(cè)試也相對(duì)比較容易。


什么是會(huì)和應(yīng)用和單頁(yè)應(yīng)用?


回合式應(yīng)用

在Web應(yīng)用發(fā)展剛起步時(shí),很多開(kāi)發(fā)者都用的是回合式應(yīng)用。

相較于單頁(yè)應(yīng)用,它就相當(dāng)于多頁(yè)應(yīng)用吧。

優(yōu)點(diǎn):對(duì)瀏覽器的要求少,對(duì)客戶端的支持比較大;

缺點(diǎn):加載等待時(shí)間較長(zhǎng),在每次請(qǐng)求加載時(shí),它需要后端服務(wù)器來(lái)處理所有請(qǐng)求并管理所有的應(yīng)用程序狀態(tài),這就占用了許多帶寬。(這時(shí)因?yàn)槊總€(gè)HTML文檔必須是自包含的,也就是每次更新頁(yè)面,都要把HTML文檔中更新的和未更新的內(nèi)容完整的發(fā)送給服務(wù)器端,這就導(dǎo)致從服務(wù)器產(chǎn)生的每個(gè)響應(yīng)中包含許多相同的內(nèi)容)。


單頁(yè)應(yīng)用

該模式下只有一個(gè)初始的HTML文檔被發(fā)送給瀏覽器,用戶交互所產(chǎn)生的Ajax(異步)請(qǐng)求只會(huì)請(qǐng)求較小的HTML片段,或者要插入到已有的顯示給用戶元素中的數(shù)據(jù)。

而初始的HTML文檔不會(huì)被再次加載或者替換,這就造成了Ajax請(qǐng)求被異步執(zhí)行的同時(shí),用戶還可以繼續(xù)與已有的HTML進(jìn)行交互,而無(wú)需等待。

優(yōu)點(diǎn): 減少向后端請(qǐng)求的數(shù)據(jù)量,減少了帶寬壓力,提升了整體web的性能。

缺點(diǎn):對(duì)瀏覽器的性能的要求變高,某些瀏覽器可能會(huì)存在不兼容。


AngularJS與jQuery的適用領(lǐng)域

1

上圖很明確地闡述了AngularJS與jQuery的區(qū)別:

在項(xiàng)目復(fù)雜度比較低時(shí),比較適合使用jQuery框架,而隨著項(xiàng)目復(fù)雜度的提升,jQuery框架會(huì)被逐漸被以單頁(yè)應(yīng)用和復(fù)雜的回合式應(yīng)用見(jiàn)長(zhǎng)的AngularJS框架所取代。


推薦閱讀;

jQuery微課——理論實(shí)踐一把抓

AngularJS教程

jQuery教程


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)