什麼時候 AngularJS 會超越 jQuery
web 新手常問的一個問題是“我應該使用哪個框架?”但這個問題卻沒有‘正確’的答案,通常主要討論的是 AngularJS 和 jQuery的區別。但它們間的比較在某些方面就像是在比較蘋果和橘子的區別,對於一個web應用,沒有明確的原因非要使用一個主要的 web 框架實現。下面一些使用 AngularJS 要優先於 jQuery 的場景。
當 DOM 操作是次要時
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 都是提高網際網路應用開發人員產能,減少維護費用的不二的選擇。
相關文章
- jquery裡面的$(this)和this都什麼時候用,有什麼區別jQuery
- 什麼時候會傳送options請求
- mysql什麼時候會發生file sortMySql
- MySQL什麼時候會使用內部臨時表?MySql
- 舉例說明你什麼時候會用抽象類,什麼時候更願意使用介面?抽象
- shiro 什麼時候會進入 doGetAuthorizationInfo() ?
- Oracle 什麼時候select會產生redo?Oracle
- C++中什麼時候用move,什麼時候用forward?C++Forward
- 什麼時候會用到透明加密表空間呢?加密
- 我們在使用jQuery的時候,到底在使用什麼?jQuery
- 什麼時候釋出
- 什麼時候呼叫layoutSubviewsView
- Python會在什麼時候被其他語言取代Python
- 你是什麼時候”突然”學會程式設計的程式設計
- 什麼時候採用socket通訊,什麼時候採用http通訊HTTP
- 新版什麼時候釋出?
- 什麼時候該用vuex?Vue
- 到底什麼時候使用mqMQ
- 什麼時候該用MongoDB?MongoDB
- EJB2.0中什麼時候用local interface,什麼時候用remote interface (轉)REM
- 請問什麼時候物件分配會不在 TLAB 內分配物件
- 丁磊:那時候我們除了會寫軟體 什麼也不會做
- Haskell程式設計精華:什麼時候該註釋,什麼時候不該註釋Haskell程式設計
- 顯示卡什麼時候會降價 顯示卡降價恢復正常時間分析
- 魅族E釋出會什麼時候召開 魅族新品釋出會有什麼亮點
- beego 什麼時候支援grpcGoRPC
- python什麼時候縮排Python
- session是什麼時候建立的Session
- Mybatis什麼時候需要宣告jdbcType?MyBatisJDBC
- 什麼時候使用z-index?Index
- 什麼時候使用 Lambda 函式?函式
- 什麼時候Linux才能完美?Linux
- 什麼時候Haskell快於CHaskell
- 什麼時候用有狀態session bean,什麼時候用無狀態session bean (轉)SessionBean
- 每日一個知識點:什麼時候會觸發Full GCGC
- win11什麼時候釋出的 win11什麼時候推送詳細介紹
- request.getParameter("name")什麼時候獲取的引數是null,什麼時候為""空字串Null字串
- 什麼是介面?為什麼使用介面? 什麼時候使用介面?(轉)