在本次演讲的“问答环节”中,道格拉斯·克罗克福德(Douglas Crockford)说jQuery不能像其他一些流行的库那样扩展。他的意思是什么,以及其他使它们更具可伸缩性的库又是什么?
在本次演讲的“问答环节”中,道格拉斯·克罗克福德(Douglas Crockford)说jQuery不能像其他一些流行的库那样扩展。他的意思是什么,以及其他使它们更具可伸缩性的库又是什么?
Answers:
对于我来说,不看视频就很难说,但是我猜是因为jQuery没有提供大多数其他库的所有功能,这些功能使JavaScript编程更容易。jQuery的目的是通过简化通过CSS选择器对元素的寻址,并为更改这些元素提供简单的框架,从而使DOM操作更容易。它提供了其他一些功能,例如Ajax请求,基本事件管理,模板以及其他一些基本功能,仅此而已。
如其他图书馆原型,MooTools的,Ext JS的和道场提供负载的其他功能用于创建对象,管理数组和集合,操作字符串,和做其他所有的细节问题的事情,我们作为程序员希望能够做到。
简而言之,jQuery缺少大型JavaScript应用程序所需的工具。由于这个原因,使用jQuery找到任何JavaScript繁重的站点是非常罕见的。例如,Mint.com建立在YUI上。Apple的MobileMe Web服务在SproutCore上运行(Apple的主站点使用Prototype)。
至少,这就是我认为他的意思。
jQuery不允许您像MooTools这样的大量重用。
这是一个哲学/设计决策:jQuery对于一劳永逸的场景而言,并不是很多代码。
当您构建不引人注目的JavaScript体验(通常仅对页面进行增强)时,这会很好地工作,并且只需要很少的代码。当您构建Google文档时 ...没那么多。您将需要其他项目公开的更多OOP概念,例如继承,类似接口的机制等。