本文由码农网 小峰原创翻译, 转载请看清文末的转载要求, 欢迎参与我们的付费投稿计划!
在这一次的 web 开发教程中, 我会尽力解答有关于 jQuery 和 AngularJS 的两个非常常见的问题, 即 jQuery 和 AngularJS 之间的区别是什么? 也就是说 jQuery VS AngularJS?
今天我不会仅仅只是解释两者的差异和列举两种技术的功能特点, 我还会尽量解答一些相关的问题和概念例如:
什么时候使用 jQuery/AngularJS?
怎样避免在 jQuery 样式中使用 AngularJS 的常见错误?
从开发人员的角度作代码比较
我们能否和 AngularJS 一起, 或在 AngularJS 的内部使用 jQuery?
jQuery
jQuery 是一个轻量级的, 功能丰富的 JavaScript 库, 它可以帮助 web 开发人员通过使用 JavaScript 来简化客户端脚本对 web 应用程序的使用它可以广泛地简化在网站上使用 JavaScript, 既轻巧又快速
因此, 使用 jQuery, 我们可以:
方便操纵网页内容
应用样式使 UI 更具吸引力
简单的 DOM 遍历
效果和动画
让执行 AJAX 调用和运行公用程式变得更简单
等等
正如前面提到的, jQuery 是一个 JavaScript 库, 所以我们可以在应用程序中部分 / 全部地使用这个库来实现它提供的单个或多个功能 (如上所列) 例如, 我们可以在应用程序中只使用 jQuery 库生成一定的效果和动画, 可以只执行基于 AJAX 的调用, 也可以使用以上列出的所有功能就像一个插件一样
AngularJS
AngularJS 是出自于搜索引擎巨头谷歌的一个产品, 并且是一个基于 MVC 的开源框架(被认为是最好的和唯一的下一代架构)AngularJS 是构建高度丰富的客户端 web 应用程序的强大工具
作为一个框架, 它决定了我们必须遵循一些规则和结构化的方法这不只是一个 JavaScript 库, 也是一个完美设计的框架(框架工具以一种真正互联的方式一起工作)
在功能方面, jQuery VS AngularJS 的话, AngularJS 能提供更多的功能:
双向数据绑定
REST 友好
基于 MVC 的模式
深层链接
模板
表单验证
依赖注入
本地化
完整的测试环境
服务器通信
注: 想要获得有关 MVC 的更多详细信息, 请点击这里
什么时候使用 jQuery 或 AngularJS?
在大多数情况下, 我们无法在应用程序开发中理解这些技术的真正价值 AngularJS 最适合于开发 web 应用程序, 因为它工作在 html 代码和 JSON 数据上, 有助于开发互动性和强大的应用程序, 但如果是一个简单的网站, 那么就会导致一个加载速度慢和相当不稳定的网站
虽然 jQuery 是一个快速, 功能丰富的语言, 有一个可圈可点的 JavaScript 库, 和一个很棒的能够创建功能丰富的网站的工具它还有内置的功能, 如 HTML 文档遍历, 事件处理, 操作, 动画和 Ajax 支持, 以及其他能让开发核心网站变得更容易和更简单的功能因此在使用这些高度直观又强大的语言之前, 有必要构建一个开发高级 web 应用程序或网站开发的完善的方法
不要在 jQuery 样式中使用 AngularJS
jQuery 有大量的插件存在, 因此更方便开发人员在网站上插入这些插件, 让它们乖乖办事另一方面, AngularJS 因为其完全不同的结构, 使得它很难找到也很难创建一个简单地放置在网站上就能运作良好的插件不过, AngularJS 有 jqLite,jqLit 具备了 jQuery 的功能, 可以用于开发不同的插件, 以满足每个网站的需要, 避开开发或修补旧插件的代码然后嵌入到网站上
代码比较
从开发人员的角度代码的比较结果如下:
我们能否和 AngularJS 一起, 或在 AngularJS 的内部使用 jQuery?
在某些情况下, 我们可能需要 AngularJS 应用程序使用 jQuery 库现在, AngularJS 可以在应用程序中使用 jQuery, 当应用程序自展的时候否则, Angular 将使用自带的 jQuery 的子集工具, 也就是我们在上面提到的 jqLite
最后的思考
在比较 AngularJS VS jQuery 的同时, 我们应该要理解的是, 两者既不能完全取代对方, 也不是相互竞争的关系 jQuery 最适合 DOM 操作, 而 AngularJS 适合于 web 应用程序的开发所以, 如果你想开发强大的应用程序, 那么选择 AngularJS, 如果想增加更多的功能, 并在网站上执行 DOM 操作的话, 那么使用 jQuery
译文链接: http://www.codeceo.com/article/jquery-vs-angularjs.html
来源: http://www.codeceo.com/article/jquery-vs-angularjs.html#0-qzone-1-71839-d020d2d2a4e8d1a374a433f596ad1440