AngularJS 与 jQuery 在Web应用开发上走的是不同的路。 jQuery 完全是通过显式操作浏览器中的 DOM 来创建应用程序。 AngularJS 采用的方法则是将浏览器吸收为应用程序开发的基础。
毫无疑问,JQuery 是一个强大的工具——也是我非常喜爱使用的。 JQuery 的健壮性和可靠性都很好,而且你可以很快地立即得到结果。我尤其喜欢流式API,以及可以对核心 JQuery 库做扩展的便利性。如果你需要更多关于 JQuery 的信息,可以看看我的《Pro JQuery 2.0》这本书,是由 Apress 出版的,详尽覆盖了 JQuery、JQuery UI 和 jQuery Mobile。
但是无论我多么喜爱 jQuery,它也不是一个比 AngularJS 更强大的万能工具。使用 jQuery 编写和管理大型应用将会比较困难,全面的单元测试也将会是一个挑战。
我喜欢使用 AngularJS 工作的原因之一是它是建立于 jQuery 的核心功能之上的。事实上,AngularJS 包含了一个裁剪版的 jQuery,叫做 jqLite,在编写自定义指令时将用到。而且,如果你将 jQuery 加入到 HTML 文档中,AngularJS将会自动检测到并优先使用jQuery 代替 jqLite,尽管会很少需要这么做。
那么,简而言之,对于单元测试不那么重要而且需要立即得到结果的低复杂度 Web 应用,适于使用 jQuery。jQuery 对于增强回合式类型的 Web 应用(即用户交互会导致新的 HTML 文档被加载的应用)生成的 HTML 也是非常理想的,因为你可以轻松使用 jQuery 而无需修改由服务器生成的 HTML 内容。对于更复杂一些的单页面 Web 应用,当你有时间精心设计和规划时,以及当你能够轻松控制由服务器生成的 HTML 时,适于使用 AngularJS。
Google Plus 社交平台的 Web 页面就很好的体现了 AngularJS 的设计思想。
—— 《AngularJS 高级程序设计》