AngularJS与jQuery的区别

开发模式存在差异

AngularJS与jQuery在web应用开发模式上有着完全不同的思路:

jQuery: 通过显示操作浏览器中的DOM来创建应用程序(适合回合式应用),对于大型及复杂项 目,不利于全面的单元测试;
AngularJS:将浏览器吸收为应用程序的基础(适合单页应用),擅长大型及复杂项目,便于全面的单元测试。

那什么是回合式应用和单页应用呢?

回合式应用(Round-Trip Application)

在Web应用发展刚起步时,很多开发者都用的是回合式应用
相较于单页应用,它就相当于多页应用吧。

优点:它对浏览器的要求少,能保证最大限度地对客户端的支持;

缺点:用户在下一个HTML文档呗请求并加载之前必须等待,这个期间,它需要大型服务器端,也就是后端服务器来处理所有请求并管理所有的应用程序状态,占用了许多带宽(这时因为每个HTML文档必须是自包含的,也就是每次更新页面,都要把HTML文档中更新的和未更新的内容完整的发送给服务器端,这就导致从服务器产生的每个响应中包含许多相同的内容)。

单页应用 (Single-Page Application)

相较于回合式应用,单页应用就是另辟蹊径了。整个应用程序只有一个初始的HTML文档被发送给浏览器,用户交互所产生的Ajax(异步)请求只会请求较小的HTML片段,或者要插入到已有的显示给用户元素中的数据。

初始的HTML文档不会被再次加载或者替换,在Ajax请求被异步执行时,用户还可以继续与已有的HTML进行交互。

优点: 减少向后端请求的数据量,减少了带宽,提升了web应用的性能。
缺点:对浏览器的性能变高,不是所有浏览器都有兼容某些特性。

AngularJS与jQuery的适用领域

AngularJS与jQuery的区别_第1张图片

上图很明确地阐述了AngularJS与jQuery的区别:
随着项目复杂度(Project Complexity)的提升,本适用于低复杂度的回合式应用的jQuery框架,会被以单页应用和复杂的回合式应用见长的AngularJS框架所取代。

随着现代Web应用的迅猛发展,web app开发模式逐渐地向单页应用模式转移,不仅时初始过程得到了优化,也在开发复杂度较高的大型应用上,结合MVC思想,体现了其强大的优势。

jQuery 和 jqLite

jQuery 时一个非常强大的功能。其实,AngularJS中包含了一个缩减版的jQuery,我们叫作‘jqLite’,用于编写自定义指令。

你可能感兴趣的:(AngularJS,jquery)