博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
选择jQuery的理由
阅读量:5764 次
发布时间:2019-06-18

本文共 2450 字,大约阅读时间需要 8 分钟。

随着Web前端技术的发展,Javascript框架层出不穷,jQuery就是其中之一。最近,国内外社区针对jQuery的优缺点做了深入的分析,其中不少内容值得Web开发人员借鉴。

Richard Hein在“”一文中列举了推荐jQuery的若干理由,包括:

  1. jQuery简化工作——开发人员会发现学习jQuery比较容易,因为该框架的代码简洁精练,语法简单、编码标准开发等特点帮助开发人 员缩短了部署应用的时间。此外,开发人员无需对Web设计非常在行,利用jQuery,不必花费太多的时间用来编写和测试CSS代码,而且jQuery还 有大量的UI组件。
  2. jQuery的显示不受Javascript被禁用的影响——如果Adobe Flash不能正常加载,那么有的页面就不能正常显示。这会对用户产生负面的影响,并且导致开发人员不得不为此做额外的编码处理,从而延长了开发时间。而 这种情况不会在jQuery身上出现。它采用的是HTML DOM操作,即使浏览器的Javascript被禁用,网页还是可以正常显示。
  3. jQuery与Visual Studio IDE集成——NuGet是Visual Studio的一个扩展,在开发基于.NET Framework的应用时,NuGet能够简化添加、删除等工作。VS 2010通过“管理NuGet包”对话框来支持对jQuery的集成。这种特性会触发VS的智能感知等功能,提示开发人员jQuery的方法和语法。总的 来说,大多数.NET开发人员对NuGet都比较熟悉。这就是jQuery在.NET社区持续受到关注的原因之一。利用jQuery针对Windows的 Mobile theme,你会在Windows Phone平台上享受到所有的开发优势。微软也在鼓励jQuery的使用,并且认真对待HTML5,引入了许多jQuery元素。
  4. jQuery制作的动画效果不比Flash差——Flash开发人员需要很长的学习过程,对于通常的开发人员开说,需要花费数年的时间才 能创建出优秀的作品。而另一方面,jQuery是免费的,而且只要求开发人员了解Javascript和HTML。假设你可以负担得起Flash开发软 件,但是开发人员仍然需要处理那些不支持Flash的情况,这是构建Flash网站的最大的缺点之一,也是利用HTML5构建的最大优势之一。同 时,jQuery使用了CSS、HTML、Javs和Ajax,这意味着你可以无需采用类似Flash那种特殊的优化方式。
  5. jQuery加载更快——Google和其他搜素引擎都把页面加在时间作为影响SEO的因素之一。因此,开发人员都会努力把Web代码尽 可能写的简洁和准确。最好的方式是减少代码量。jQuery文件与Web页面分开存储,这可以让开发人员集中地优化代码。此外,jQuery还支持开发人 员自主选择如何加载Div标签,如果你想要改进网站的速度,那么可能会考虑在必要的时候只加载所需的Div标签。
  6. jQuery有助于SEO——网站的代码结构对各种搜索引擎的排名影响较大,jQuery提供了大量优化的插件帮助开发人员完成这项工作。

在国内社区,开发人员也对jQuery做了讨论。比较了jQuery和YUI的:

jQuery专注于DOM的操作,他通过继承的方式给传入的对象增加了新的方法,从而使我们可以通过链式调用来操作对象,这种方法上手简单,我看到很多设计师都可以玩上一玩。其实,就像jQuery说的,write less do more!

YUI是一个大型开发工具,他提供了一套javascript以及css的类库来为交互开发提供支持,我们可以看到YUI除了主打的js框架外,还有配套 的压缩工具(YUI Compressor),文档生成工具(YUI Doc),单元测试工具(YUI Test)甚至开放了PHPLOADER(YUI PHP Loader ),再较大团队开发中,这些东西是非常重要的。
从编程语法上来说,诚如前面所说,jQuery专注于DOM操作,因此必不可免的弱化了OO,相比之下YUI则更加规范。再如,jQuery中面向DOM 的设计,决定了他可以通过$.extend()或者$(elem).extend()向对象或者节点增加新的方法,而YUI在这方面就异常的笨拙。当然, 这些并不能说明谁比谁好,YUI的颗粒化决定了他的维护成本低,可以称为刀,而jQuery锋利的刀刃决定了它使用方便,游刃有余,可以称为剑。

则对jQuery的评价不高,包括:

  1. jQuery主要解决了兼容问题和DOM操作问题,以CSS选择器的方式批量操作元素是主要特色,对于特定项目,我认为实现这个的难度实 在不大。而其主旨"write less, do more." 少写些的这个观点我半点不能认同,写程序的时间主要花在思考和调试,而非打字。
  2. jQuery污染了两个名字JQuery和$,这个在类库中可以算极少污染了,但是实际上$与其它类库冲突很多,而noconflict这个方案可算不伦不类。
  3. jQuery的API设计可以说非常巧妙和优秀,但是其实跟JS的原生对象差的有些远,不过却跟CSS的模式比较接近,这个对于不少人很有亲和力。
  4. jQuery的实现质量也算比较高了,虽然选择器还有些优化空间,不过基本可以认为没有太大问题。

则给出了知乎选择Closure Library来作为JavaScript库,而不选择更流行的jQuery的:

选择closure-library是因为这是一个整体解决方案,自带的库已经很丰富,不需要再去找其他插件。而且google用其开发了gmail,google doc,可以放心它的质量。

如果选择jquery的话,单纯jquery库是不够的,还得很多第三方插件,这些插件质量良莠不齐,对不同版本jquery支持还不一致。

InfoQ的读者对jQuery的优缺点有什么看法?欢迎发表自己的看法!

转载地址:http://sdgkx.baihongyu.com/

你可能感兴趣的文章
关于HTML中的定位
查看>>
Exchange 跨林迁移 Part5 组策略设置和添加用户到指定组
查看>>
教你如何禁止/允许某用户修改系统时间
查看>>
Web服务基础二之Apache主配置文件httpd.conf
查看>>
计算机进阶推荐书单
查看>>
Exchange 2010 数据库副本加载后复制状态一直是失败并搁置故障分析
查看>>
虚拟化的历史
查看>>
hive的shims相关类分析
查看>>
Linux Tips之 切换用户身份su与sudo的用法与实例
查看>>
MEGAMALL OpenCart 自适应主题模板 ABC-0692
查看>>
6.1 压缩打包介绍;6.2 gzip压缩工具;6.3 bzip2压缩工具;6.4 xz压缩工具
查看>>
华为:Access、Hybrid和Trunk三种模式的理解
查看>>
卡特兰数,组合数,斯特林数,逆元模板
查看>>
TCP 协议之三次握手(一)
查看>>
Spring.NET学习笔记(二)
查看>>
question?
查看>>
hdu4714 Bob’s Race
查看>>
第五次作业-springmvc对表单的获取
查看>>
docker 自制CentOS 6-lnp镜像
查看>>
【Filter 页面重定向循环】写一个过滤器造成的页面重定向循环的问题
查看>>