什么时候 AngularJS 会超越 jQuery 已翻译 100%

oschina 投递于 2015/02/17 07:52 (共 5 段, 翻译完成于 03-01)
阅读 17118
收藏 47
2
加载中

web 新手常问的一个问题是“我应该使用哪个框架?”但这个问题却没有‘正确’的答案,通常主要讨论的是 AngularJS 和 jQuery的区别。但它们间的比较在某些方面就像是在比较苹果和橘子的区别,对于一个web应用,没有明确的原因非要使用一个主要的 web 框架实现。下面一些使用 AngularJS 要优先于 jQuery 的场景。

pseudo
翻译于 2015/02/26 12:08
1

当 DOM 操作是次要时

jQuery 主要关注于 DOM 扫描和操作。一个常例是通过用户操作进行 DOM 元素的添加和修改,例如将AJAX返回的结果通过预先处理的HTML添加到已存在的DIV中。但使用 AngularJS,开发的焦点在于数据展示。通过双向数据绑定,数据的更新会自动完成而不需要删除和重建 DOM。虽然 DOM 操作是不可能完全避免的,但较只使用 jQuery,使用 AngularJS 你只需处理较少的 DOM 操作。

pseudo
翻译于 2015/02/26 13:43
2

当注重效率时

虽然 AngularJS 学起来有点难,但它对于开发者来说具有较高的效率。AngularJS 的很多特性注重于提高开发者的产出。例如为支持单元测试的内建扩展支持。注重于测试的特性通过简化单元测试,从而使开发者注重于生产更健壮可靠的代码。另外,通过将DOM操作与程序逻辑解耦,开发者能够专注于“为什么”而不是“如何做”。通常,这会导致短小但稳定和易于调试的代码。

pseudo
翻译于 2015/02/26 14:25
2

在采用描述性接口的时候

使用jQuery常常遇到的问题是它采用的是命令式编程,说的再透彻点,它告诉计算机如何才能达到目标,这样的处理过程产生的结果就是你想要的结果。不过,描述性编程则相反,它告诉计算机你想要的结果,让计算机自己确定该如何实现。JavaScript 总的来说是采用命令式方法进行设计的,而HTML-以及AngularJS给HTML所增加的指令-都是专门为描述性编程而设计的。如果你使用AngularJS进行编程,那么你最终采用的描述性编程,它更符合HTML原来的设计意图-即告诉计算机你想得到的显示结果,然后由计算机处理具体的细节。如果采用了这种编程方式,那么完成具体任务所需代码的行数就会大大的减少了,这样的代码可读性更高,维护起来更容易。

几点人
翻译于 2015/03/01 15:08
2

结论

如上所述,AngularJS 和 jQuery 在许多方面都不具有可比性。这两个框架设计的目标不同,解决问题就不同。话虽这么说,开发人员开发某些数据显示和维护方面的应用而不是数据分析方面的应用的产能得到了大幅提升,AngularJS 在这些领域都比 jQuery 好很多。最终要选择哪个框架由你所在单位的能力和所采用工具的核心组件相关的许多因素决定的,不过,无论如何,AngularJS 都是提高互联网应用开发人员产能,减少维护费用的不二的选择。


几点人
翻译于 2015/03/01 15:38
1
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(47)

s
seeit
see it www.xuetub.com
Alan43
Alan43
jQuery是类库,是瑞士军刀,angular是框架,是解决某一类需求。没可比性!
贾珣
贾珣

引用来自“贾珣”的评论

当IE 678成为历史时。。。

引用来自“南漂一卒”的评论

认为 jQuery 的核心价值在于“老浏览器兼容”—— 没真正体会 jQuery 架构设计的精巧~

引用来自“贾珣”的评论

但大部分的应用场景确实这样哈~简化了兼容性是很重要的一部分~至于jQuery的架构设计当然不止于此~不过~就这个主题而言IE 678不成为历史很多东西还是不行啊>,<

引用来自“南漂一卒”的评论

IE 9+ 及现代浏览器的兼容性问题也不少,特别是 Chrome、Firefox 又一直快速迭代 HTML 5.x 新特性~ jQuery 架构的巧妙设计很适合开发“自定义控件”~
但AngularJS要超过jQuery在这个方面还要努力哈~兼容性是很大一个方面,虽然标准浏览器比较好了哈~jQuery是命令式~AngularJS我记得好像不是这么架构的~哎~可惜我们还需要在兼容问题上做长时间的斗争~
xialeistudio
xialeistudio

引用来自“sikele”的评论

呵呵的时候,虽然mvvm是个好模式,越复杂的DOM操作越应该使用mvvm,但国内接受度比较低,还有浏览器兼容性问题,国内avalon可以兼容到IE6,还有搜索引擎的问题,谷歌可以执行js,百度不行,就呵呵了。

引用来自“chenwenli”的评论

搜索引擎的问题,谷歌可以执行js,百度不行,就呵呵了。 这个是什么意思?
angularjs开发的站google可以正常收录,百度不行
xialeistudio
xialeistudio

引用来自“砼砼”的评论

AngularJS 本身就依赖Jquery ,,,这种超越不知道从和说起
呵呵
南漂一卒
南漂一卒

引用来自“贾珣”的评论

当IE 678成为历史时。。。

引用来自“南漂一卒”的评论

认为 jQuery 的核心价值在于“老浏览器兼容”—— 没真正体会 jQuery 架构设计的精巧~

引用来自“贾珣”的评论

但大部分的应用场景确实这样哈~简化了兼容性是很重要的一部分~至于jQuery的架构设计当然不止于此~不过~就这个主题而言IE 678不成为历史很多东西还是不行啊>,<
IE 9+ 及现代浏览器的兼容性问题也不少,特别是 Chrome、Firefox 又一直快速迭代 HTML 5.x 新特性~ jQuery 架构的巧妙设计很适合开发“自定义控件”~
罗雀
罗雀
完全就两个用途的。。。怎么比
LeoG0816
LeoG0816
感觉没什么超不超越 就看适不适合业务 富客户端应用angular能体现它的价值
LweBemjon
LweBemjon

引用来自“LweBemjon”的评论

感觉ng只是一时流行,并不能超越jQ,或者说它的使用率不会超过jQ

引用来自“xialeistudio”的评论

应用领域不同,不会有超越这一说法
这里的超越是指流行度
itoajmosc
itoajmosc
火一时。
返回顶部
顶部