web 新手常問的一個問題是“我應該使用哪個框架?”但這個問題卻沒有‘正確’的答案,通常主要討論的是 AngularJS 和 jQuery的區別。但它們間的比較在某些方面就像是在比較蘋果和橘子的區別,對於一個web應用,沒有明確的原因非要使用一個主要的 web 框架實現。下面一些使用 AngularJS 要優先於 jQuery 的場景。
jQuery 主要關注於 DOM 掃描和操作。一個常例是通過用戶操作進行 DOM 元素的添加和修改,例如將AJAX返回的結果通過預先處理的HTML添加到已存在的DIV中。但使用 AngularJS,開發的焦點在於數據展示。通過雙向數據綁定,數據的更新會自動完成而不需要刪除和重建 DOM。雖然 DOM 操作是不可能完全避免的,但較只使用 jQuery,使用 AngularJS 你只需處理較少的 DOM 操作。
當注重效率時
雖然 AngularJS 學起來有點難,但它對於開發者來說具有較高的效率。AngularJS 的很多特性注重於提高開發者的產出。例如為支持單元測試的內建擴展支持。注重於測試的特性通過簡化單元測試,從而使開發者注重於生產更健壯可靠的代碼。另外,通過將DOM操作與程序邏輯解耦,開發者能夠專注於“為什麼”而不是“如何做”。通常,這會導致短小但穩定和易於調試的代碼。
在采用描述性接口的時候
使用jQuery常常遇到的問題是它采用的是命令式編程,說的再透徹點,它告訴計算機如何才能達到目標,這樣的處理過程產生的結果就是你想要的結果。不過,描述性編程則相反,它告訴計算機你想要的結果,讓計算機自己確定該如何實現。JavaScript 總的來說是采用命令式方法進行設計的,而HTML-以及AngularJS給HTML所增加的指令-都是專門為描述性編程而設計的。如果你使用AngularJS進行編程,那麼你最終采用的描述性編程,它更符合HTML原來的設計意圖-即告訴計算機你想得到的顯示結果,然後由計算機處理具體的細節。如果采用了這種編程方式,那麼完成具體任務所需代碼的行數就會大大的減少了,這樣的代碼可讀性更高,維護起來更容易。
結論
如上所述,AngularJS 和 jQuery 在許多方面都不具有可比性。這兩個框架設計的目標不同,解決問題就不同。話雖這麼說,開發人員開發某些數據顯示和維護方面的應用而不是數據分析方面的應用的產能得到了大幅提升,AngularJS 在這些領域都比 jQuery 好很多。最終要選擇哪個框架由你所在單位的能力和所采用工具的核心組件相關的許多因素決定的,不過,無論如何,AngularJS 都是提高互聯網應用開發人員產能,減少維護費用的不二的選擇。
AngularJS權威教程 清晰PDF版 http://www.linuxidc.com/Linux/2015-01/111429.htm
希望你喜歡,並分享我的工作~帶你走近AngularJS系列:
如何在 AngularJS 中對控制器進行單元測試 http://www.linuxidc.com/Linux/2013-12/94166.htm
在 AngularJS 應用中通過 JSON 文件來設置狀態 http://www.linuxidc.com/Linux/2014-07/104083.htm
AngularJS 之 Factory vs Service vs Provider http://www.linuxidc.com/Linux/2014-05/101475.htm
AngularJS —— 使用 ngResource、RESTful APIs 和 Spring MVC 框架提交數據 http://www.linuxidc.com/Linux/2014-07/104402.htm
AngularJS 的詳細介紹:請點這裡
AngularJS 的下載地址:請點這裡
英文原文:When is AngularJS Superior to jQuery?