一起学习
据说写这本书的目的,是帮助人们用较少的script让你的
web页面做更多的事。Bear Bibeault 和 Yehuda Katz,一个是
jQuery的设计者和传播者,另一个是热心的用户。他们相信jQuery是当前可以帮你实现刚才目标的最好的库。在这篇对
Java牛人的访谈中,作者向我们介绍了更多的关于 这本书和jQuery的内容。
1.Bear, Yehuda,你们谈谈自己吧,比如你来自哪里?现在你从事着什么工作?
Bear:没有麦克风吗?我很希望能用麦克风来采访我。好,下面来说说我自己。我是一个软件工程师,现在在得克萨斯州首府奥斯汀工作和生活。我写了三十多年的代码,基本上各种流行的语言都有使用过。我从初级程序员的位置做起,到高级工程师,一直到开发经理。现在我已经成为一个架构师,这是一种比较舒服的工作,比如说处理大的金融公司规模庞大的Web应用系统,管理其内部的信用卡数据信息。 其实它并不是像听起来的那么繁琐,否则,我早就累死了。
Yehuda: 我现在生活在旧金山,为一家设计引擎的公司工作。我们主要做的是Ruby on Rails。我很幸运在一家专门从事Ruby 框架开发的公司的负责Merb的工作,现在在Ruby社区中已有一些名声。同时,我也一直从事Rubinius方面的工作。Rubinius是一个开放源代码的Ruby虚拟机。它有些方面是基于Smalltalk-80的虚拟机技术。它最终希望可以和当前的Ruby解释器兼容,但尽可能的用Ruby来完成。
2.“jQuery in Action” 即将出版,这是你们的第一次出书吗?
Bear: 不,其实这是我的第三本书了,就在此前不久已经完成了两本:“
the heels of Prototype and Scriptaculous in Action” 和“
Ajax in Practice”。这两年来,我一直在不间断的写作。现在,我想我得考虑一下的休息,并好好看看我的房子外面还有我的办公室是什么样子的。
Yehuda: 呃,这算是我的第一本书。我负责了其中两个章节,主要是关于Ruby实践方面的内容。现在我正在为Merb in Action努力。
3. 你们的目标读者群有哪些?
Bear:这本jQuery的书吗?对于需要在Html页面上写JavaScript语句的人我看都是.不管是简单的web页面,还是复杂的广义上的web应用—jQuery都会使事情变的容易.
Yehuda:这本书帮助你认识JavaScript,如果你还不是很了解的话.我们的附录可以帮助你在与jQuery相关领域更快的进步.
4.什么是jQuery?是一种新的JavaScript应用库吗?
Bear: 事实上,确实是.更精确的说,它们本身,就是一种新的JavaScript库类型.
Yehuda:我们原来的标题是 "New Wave JavaScript",原来的logo是Devo hat.当然那是我最初的想法,我们很希望较快的取得成功.
Bear: 这也是在采用一种新颖的方式.他们推广一种网页风格的脚本叫做
"Unobtrusive JavaScript",这种库是尽可能的做的开放.
5.怎么这样的?
Bear: 大部分的JavaScript库都很容易侵入.如果要改变本地JavaScript对象的行为,他们全局名字空间与一群新的变量和"类"的名字都会成为垃圾,有的甚至丢的更远。jQuery采用了一点区别的方式.它只定义两个全局名,而且其中一个是可选的. 这方便性表现在,当本地对象不能起期望的作用,或者担心什么名字在页面中不能处理时等,我们可以跨库调用。这也就是说jQuery可以和其它库很好的配合使用.不管你由于什么原因而想增加一些使用时,在jQuery不会带来什么大的变动.
Yehuda: jQuery甚至被OpenAjax联盟(一个寻求改善JavaScript库之间的互操作性的工业组织-)选择作为一个在这方面的工作的典范。这是我们感到很自豪的方式,使人们有可能用jquery与即使是最差劲的库,甚至明确拒绝互操作性的库的配合使用。
6.我们为什么要用jQuery呢?
Bear:是因为jQuery 的特性.在我提到的很多原因中,最重要的是它使得我们在如今的web应用中需要处理的很多事情变得非常容易实现.在这本书中我们把这个特性称为:”少做多得”.这就是jQuery带给开发社区的真正的东西.你可以用很少的代码,来获得非常丰富多彩的页面.何乐而不为呢?
Yehuda:大多数情况下,写作AJAX应用程序时你自己需要做一些收集元素的事情。 jQuery正是从这一概念(Jeremy Keith称它为DOM脚本)出发设计的,这意味着你的日常工作,也是集中式的架构。jQuery没有试图从JavaScript演变成另一种语言(如Ruby或
Python),它在利用JavaScript的长处的同时,极大地提高了DOM的功能。
7.有哪些浏览器支持jQuery呢?
Bear: jquery支持所有现代流行的浏览器:IE的6和7版本,基于Gecko的浏览器,
Firefox和Camino ,加入Web Core的浏览器一样, Safari和omniweb ,也支持Opera。像任何好的JavaScript的库所具有的,它的使用者从不用担心处理所有这些完全令人厌烦的浏览器的差异驱动,我们只是努力使开发的东西已到处可用!这一点在事件处理和浏览器应用中使用Ajax技术时可以有特别好的表现.
Yehuda:我最关注的章节就是关于事件处理的, 其中详述了如何" jquery事件模型"的工作机制。在
其他事件模型需要面临的详细的缺陷性和复杂性.我们证明了jquery使得它变得有多容易。
8.能谈谈jQuery的工作机制吗?
Bear: 没问题.jQuery很好学是因为它的语句都遵从相同的模式.你使用jQuery函数来选择需要运行的DOM元素,然后把jQuery方法应用到那个集合中去.你也可以采用一个语句来完成一列多重命令来实现一个复杂的功能.掌握jQuery是一个比较容易的过程,而你将由此大大的提高编程的生产力.jQuery选项是一种基于CSS的描述的表达式,使用它可以使我们有效,简单的选出那些需要运行的DOM元素.
Yehuda: jquery支持几乎所有的css3选择集(除了少数冷僻的元素如:nth-child-of-type都是从字面上从未使用过),以及一系列为方便添置的位置选择符(:lt, :gt, :eq),并形成选择符(:button, :text,:radio, :selected)。
9.已经使用jQuery的读者是不是是不是已经获得了一些秘诀或者技巧?
Bear:是的.实际上,只要你在jQuery的选项上花点力气.掌握这种使用方式很容易.然后使用起来真的会给减轻很多开发的负担.
下载本文示例代码
《jQuery in Action》作者访谈记《jQuery in Action》作者访谈记《jQuery in Action》作者访谈记《jQuery in Action》作者访谈记《jQuery in Action》作者访谈记《jQuery in Action》作者访谈记《jQuery in Action》作者访谈记《jQuery in Action》作者访谈记《jQuery in Action》作者访谈记《jQuery in Action》作者访谈记《jQuery in Action》作者访谈记《jQuery in Action》作者访谈记