jQuery是魔鬼还是天使

近来jQuery的发展简直是风光无限,各方赞誉之声是此起彼伏,先是放出了微软、 nokia的重磅利好消息,然后是使用了jQuery的各大知名网站名单,现在又开始在css框架领域建立起了她的新帝国。相比一起诞生的其它js框架已 经是不可同日而语了,非常敬佩jQuery团队的运营能力,将一件事从无到有,从有到卓越,从出书到孜孜不倦的发表技术文章,一切都演变得那么自然,仿佛 是一本营销学的教科书。

  jQuery倡导的简单、快速编写js的方式,彻底改变了那传统琐碎的js编写方式,不再需要担心浏览器的兼容性,无论是简单还是绚烂的功能,也不再需要编写一堆冗赘的代码。她像一个天使让js焕然一新充满了活力........

  她对js的贡献让我想起了Dreamweaver对互联网发展的贡献,回望历史,在那 web标准方兴未艾、浏览器战火纷飞的年代,Dreamweaver用她兼容一切的table布局方案和视图化的编码方式,让web的制作的门槛视乎降低 到了不可思议的低,让web制作立马走进了千家万户,Dreamweaver的出现让web在量上的发展有了长足的进步,他为互联网的发展起到了不可小视 的历史推动,但在web标准的发展史上,因为Dreamweaver的无所不能、开发简快,渐渐的让HTML标准消失在了人们的视野中,将一代人带上了歧 途,惊醒过来的人们终于又意识到了web标准的存在(在这儿要感谢那些坚持不懈的各种浏览器的生产商)。有了一小群人开始鄙视那个多年不更新的IE6,开 始鄙视那些“Dreamweaver网页工程师”。

  就像只会用Dreamweaver做页子的人一样,很多都不知道[DIV]与 [SPAN]之间的关系和区别,而只用jQuery写js的人会不会不知道 getElementById()和getElementsByName()之间的关系呢,jQuery巧妙的代码将兼容性问题很好的掩盖,无所不能的特 效、简快的开发方式,正开始让js标准渐渐淡出人们的视野。一切都太像了,有些不可思议,历史的轮回好像真的存在,我不知道jQuery会不会将一些人带 上歧途,但真的希望这一切不要真的发生。

做项目开发和做研究是两个概念,绝大部分的技术人员目的是为了开发,开发的目的是为了解决用户的需求,所以开发人员的根本是快速高质量的完成项目,这个是根本,不是带上歧途,是开发人员对复杂的js要透明(个人见解)。

  这是一个痛苦的矛盾:“处理兼容性的代码只会让兼容性问题越来越严重”。css的处境也不太妙,不知哪位高人曾经说过:“csshack的滥用只会让css离标准越来越远”。

  很多时候事情就是这么的无奈,你想的往往和你做的正好相反,你想兼容所有终端,但用户几 乎只用IE;你想模块化、想整体架构、想掌握技术核心,但你的工作得以效率为中心来开展;你想把事儿做到最完美,但那样做出来的好像并不值钱;好的想法为 什么总是得不到现实的支持呢,反过来想想答案就出来了,现有的需求不需要也不能支持那样的生产力呗。

  回到一个让很多web标准坚持者黯然尴尬的问题:“web标准有什么好处?”。对于js 来说,这个问题要好点,因为DOM的标准已经成功进驻了各大语种的基库里,如果你会用js dom写应用的话,那你就可以在.net php java ......很多语言里游刃有余的使用DOM了,如果你还能玩转ECMAScript的话,恭喜你,你可以轻松转型到ECMAScript系的其他语言, 比如Actionscript........ 坚持js的web标准还有另外一个好处,就是jQuery能做的js一定能做,而jQuery做不到的,js也许也能做,要知道jQuery就是js做 的.....

技术标准不只是 技术实现这样简单,很多时候是商业操作的结果,比如ie并不是兼容w3c,但是他是隐形的标准,而且标准在不同时间段内是不一样的,如果还有另外一家公司 做的比微软还好,使用率还高,那隐形标准也许又不是w3c和ie了,所以标准是有时间和空间的限制,技术在发展,商业变换是技术无法预测的,应该审时度 势,做符合大众的,不要一味的追求所谓的标准。

好吧,jQuery她的简单、快速开发是符合技术需求的,使用js + jQuery的方式开发项目会让人感到实用和愉快。但在接纳和使用她的时候,一定不能忘记web标准,不然会走很长很长的弯路.........

邓爷爷说过:不管白猫黑猫,能抓住老鼠就是好猫,框架诞生的目的是为了降低开发的难度,提高开发的速度和质量,框架本无错,错就是错在作者在误导读者。有了汽车就不走路了吗?