jQuery VS AngularJS 你更鐘愛哪個?
在這一次的Web開發(fā)教程中,我會盡力解答有關(guān)于jQuery和AngularJS的兩個非常常見的問題,即jQuery和AngularJS之間的區(qū)別是什么?也就是說jQuery VS AngularJS?
今天我不會僅僅只是解釋兩者的差異和列舉兩種技術(shù)的功能特點,我還會盡量解答一些相關(guān)的問題和概念。例如:
-
什么時候使用jQuery/AngularJS?
-
怎樣避免在jQuery樣式中使用AngularJS 的常見錯誤?
-
從開發(fā)人員的角度作代碼比較
-
我們能否和AngularJS一起,或在AngularJS的內(nèi)部使用jQuery?
jQuery
jQuery是一個輕量級的,功能豐富的JavaScript庫,它可以幫助web開發(fā)人員通過使用JavaScript來簡化客戶端腳本對web應(yīng)用程序的使用。它可以廣泛地簡化在網(wǎng)站上使用JavaScript,既輕巧又快速。
因此,使用jQuery,我們可以:
-
方便操縱網(wǎng)頁內(nèi)容
-
應(yīng)用樣式使UI更具吸引力
-
簡單的DOM遍歷
-
效果和動畫
-
讓執(zhí)行AJAX調(diào)用和運行公用程式變得更簡單
-
等等
正如前面提到的,jQuery是一個JavaScript庫,所以我們可以在應(yīng)用程序中部分/全部地使用這個庫來實現(xiàn)它提供的單個或多個功能(如上 所列)。例如,我們可以在應(yīng)用程序中只使用jQuery庫生成一定的效果和動畫,可以只執(zhí)行基于AJAX的調(diào)用,也可以使用以上列出的所有功能。就像一個 插件一樣。
AngularJS
AngularJS是出自于搜索引擎巨頭谷歌的一個產(chǎn)品,并且是一個基于MVC的開源框架(被認為是***的和唯一的下一代架構(gòu))。AngularJS是構(gòu)建高度豐富的客戶端web應(yīng)用程序的強大工具。
作為一個框架,它決定了我們必須遵循一些規(guī)則和結(jié)構(gòu)化的方法。這不只是一個JavaScript庫,也是一個***設(shè)計的框架(框架工具以一種真正互聯(lián)的方式一起工作)。
在功能方面,jQuery VS AngularJS的話,AngularJS能提供更多的功能:
-
雙向數(shù)據(jù)綁定
-
REST友好
-
基于MVC的模式
-
深層鏈接
-
模板
-
表單驗證
-
依賴注入
-
本地化
-
完整的測試環(huán)境
-
服務(wù)器通信
注:想要獲得有關(guān)MVC的更多詳細信息,請點擊這里。
什么時候使用jQuery或AngularJS?
在大多數(shù)情況下,我們無法在應(yīng)用程序開發(fā)中理解這些技術(shù)的真正價值。AngularJS最適合于開發(fā)web應(yīng)用程序,因為它工作在HTML代碼和JSON數(shù)據(jù)上,有助于開發(fā)互動性和強大的應(yīng)用程序,但如果是一個簡單的網(wǎng)站,那么就會導(dǎo)致一個加載速度慢和相當(dāng)不穩(wěn)定的網(wǎng)站。
雖然jQuery是一個快速,功能豐富的語言,有一個可圈可點的JavaScript庫,和一個很棒的能夠創(chuàng)建功能豐富的網(wǎng)站的工具。它還有內(nèi)置的 功能,如HTML文檔遍歷,事件處理,操作,動畫和Ajax支持,以及其他能讓開發(fā)核心網(wǎng)站變得更容易和更簡單的功能。因此在使用這些高度直觀又強大的語 言之前,有必要構(gòu)建一個開發(fā)高級web應(yīng)用程序或網(wǎng)站開發(fā)的完善的方法。
不要在jQuery樣式中使用AngularJS
jQuery有大量的插件存在,因此更方便開發(fā)人員在網(wǎng)站上插入這些插件,讓它們乖乖辦事。另一方面,AngularJS因為其完全不同的結(jié)構(gòu),使 得它很難找到也很難創(chuàng)建一個簡單地放置在網(wǎng)站上就能運作良好的插件。不過,AngularJS有jqLite,jqLit具備了jQuery的功能,可以 用于開發(fā)不同的插件,以滿足每個網(wǎng)站的需要,避開開發(fā)或修補舊插件的代碼然后嵌入到網(wǎng)站上。
代碼比較
從開發(fā)人員的角度代碼的比較結(jié)果如下:
我們能否和AngularJS一起,或在AngularJS的內(nèi)部使用jQuery?
在某些情況下,我們可能需要AngularJS應(yīng)用程序使用jQuery庫?,F(xiàn)在,AngularJS可以在應(yīng)用程序中使用jQuery,當(dāng)應(yīng)用程序自展的時候。否則,Angular將使用自帶的jQuery的子集工具,也就是我們在上面提到的jqLite。
***的思考
在比較AngularJS VS jQuery的同時,我們應(yīng)該要理解的是,兩者既不能完全取代對方,也不是相互競爭的關(guān)系。jQuery最適合DOM操作,而AngularJS適合于 web應(yīng)用程序的開發(fā)。所以,如果你想開發(fā)強大的應(yīng)用程序,那么選擇AngularJS,如果想增加更多的功能,并在網(wǎng)站上執(zhí)行DOM操作的話,那么使用 jQuery。
譯文鏈接:http://www.codeceo.com/article/jquery-vs-angularjs.html
英文原文:7 JQuery Best Practices