Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

jQuery是什么?库?框架?

  打开jQuery的官方网站jquery.com,映入眼帘的就是一个“What is jQuery?”。它就会告诉我们自己是什么。

  第一句就说明了它是一个库(library),但是即使官方自己这么认为也只能表示这是官方自己的观点。或者说jQuery是作为一个库被开发出来的。而使用者把它当作什么来使用,这不是官方说了算的。菜刀可以是厨具也可以是凶器,不会因为制造者的初衷而改变一个东西本身的性质。日本违宪造航母,硬说那是直升机驱逐舰谁也没办法。jQuery也一样,可以当作库来使用,也可以当作框架(framework)来使用,这是由使用者自己的逻辑来决定的。对于jQuery本身而已,说白了它只不过是一个第三方写的JavaScript对象而已。
  在我的定义中,jQuery更倾向于库。到谷歌上搜索一下也很少有“jQuery framework”的说法。我看到很多文章中有包含这句话“框架是为解决一个(一类)问题而开发的产品”,虽然不知道是谁说的,总之我是不这么认为的。这个定义在我看来恰好是库的定义。我对框架的理解是“对一种编程语言的全面封装”。微软的MFC在我看来就是一个框架,虽然在MSDN中它被放在了库的位置。但是MFC对系统API做了大量的封装,已经不是为了解决一个问题这么简单了,它甚至把基础变量类型都封装了一遍,我觉得像这样把一种编程语言搞的面目全非的才是框架。对于jQuery而言会比较复杂,因为Web开发没有标准的IDE。不像微软的开发是它自己垄断的开发环境。如果一些人使用的IDE提供了jQuery的全部代码提示,那么把它当作框架也是很正常的事情。在贴吧上经常会看到一些让人觉得无比蛋疼的问题“学jQuery好还是学JavaScript好”,这个问题看起来也许是可笑的。但是仔细想想会发现,当人们把jQuery和JavaScript摆在同等的位置时,这就说明jQuery在他们的概念中是一个框架。就像会MFC却不会C++的也大有人在。我们认为jQuery绝对不能脱离JavaScript学习,这是因为我们知道jQuery的功能是有限的。但是如果jQuery的功能可以满足你的所有需求,你当然可以把它当作一个框架来使用。其实jQuery官方也在努力把它往框架方面推,因此才出现了jQueryUI等一系列产品。
  总之在我看来,jQuery就是一个库而已。也许和别人的理解不同,我也欢迎大家提出自己的见解。
网名:
34.203.213.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^