Bear Bibeault从100波特率的Control Data Cyber计算机编写井字游戏开始,编写了超过30年的代码。因为他获得了两个电气工程的学位,所以大家认为Bear应该设计天线或者其他电器设备。但是从第一份在美国数据设备公司(Digital Equipment Corporation)的工作开始,他就开始迷恋上了编程工作。
Yehuda Katz在过去几年参与过许多开源项目。除了作为jQuery项目的核心成员,他还参与了Merb项目Ruby on Rails的一种替代框架(也是使用Ruby开发)。
Aurelio De Rosa是一名全栈Web开发工程师,拥有WAMP stack and HTML5、CSS3、Sass、JavaScript和PHP超过5年的专业开发经验。他是jQuery和JoindIn团队的成员、JavaScript和HTML 5领域的专家。他同样对Web安全、访问性、性能和SEO感兴趣。
每次回想起为本书付出的巨大心血,我都会吓一跳。曼宁出版社的人联系我希望我参与《jQuery in Action》(第三版)的编写工作时,我就知道这并不是一件轻松的差事,但是,我还是低估了这个工作量。我认为:这是小菜一碟。几个月就能搞定了。其实是两年时间,夜以继日地工作才完成。但是我没有后悔当初的选择。编写本书已经成为难以忘怀的经历,它改变了我,锻炼了我多方面的能力。我已经成为一位更出色的工程师和作者,当然也精进了我的jQuery编程水平。
两年前,我还是一个钟情于jQuery的开发者,非常感谢这个框架解决了我许多棘手的技术问题。编写本书之前,我的jQuery知识已经非常不错,但是参与本书的编写让我对jQuery知识了解得更加深入,学习了很多底层的架构,更上了一层楼。修订本书要求我定期为jQuery项目作出贡献我已经被邀请加入jQuery团队。毋庸置疑,参与本书的编写工作,是我人生中意想不到的荣誉和巨大成就,我非常自豪。
既然已经知道我为什么参与本书的编写,那么还有一个关键的问题:第三版有没有必要?我认为是必须的。主要有两个基本原因:首先,第二版涵盖的最新内容为jQuery 1.4框架,第三版覆盖最新的1.11版内容,jQuery 3包含在本书中刚刚开始。其次,jQuery是最流行的JavaScript框架,世界上排名前100万的网站中有63%的使用了jQuery,从第二版出版后jQuery的变化很大。这两个原因要求我们必须编写更新的书籍,jQuery并非停滞不前,更不会无故消失。
第三版中你会看到一些变化。首先,删除了关于jQuery UI的章节,因为jQuery和jQuery UI不断发展壮大,应该有各自的书籍。其次,正如你翻开本书看到的一样,我决定增加一些第二版没有包含的高级主题。最后,还介绍了一些例子,如试验页面、代码片段、在线demo及其他内容。翻过这一页,深入学习本书,开始学习这个世界上最流行的JavaScript框架吧。祝你学习愉快!
Aurelio De Rosa
10年前,John Resig发明了一种可以简化Web开发的JavaScript框架。今天,根据BuiltWith.com的统计,超过80%使用JavaScript的网站使用了jQuery。如果你不知道jQuery,就很难称得上是一个Web开发人员。
从技术角度来说,jQuery大大简化了浏览器原生调用的方法代码,压缩了功能性代码量。这就是jQuery的口号Write less,do more(写得少,做得多)。jQuery框架也屏蔽了一些兼容性行为问题,以及一些浏览器中存在的著名的bug,大大简化了开发和测试工作。
设计之初,jQuery就非常易于扩展。jQuery的插件模型让每个开发者都可以在jQuery之上构建自己的扩展功能,有成千上万从广告效果到表单验证的jQuery插件。这样,许多Web开发者都可以很容易基于大量的开源插件构建完美的网站。
仅靠代码并不能让jQuery如此流行。强大的在线论坛和邮件组支持开发者在线回答问题是jQuery流行的重要原因。这些深入讨论交流都促进了文档、培训课程和编程书籍的发展。
本书是学习jQuery开发的绝佳途径。前面章节介绍了jQuery框架网页开发需要的核心API,这些API可以选择页面元素进行操作。同样的模式适合隐藏展示、动画、删除或修改元素的外观操作。选择元素的过程中使用了选择器语法,而jQuery框架提供了很强大的封装支持。
必须承认,事件这一章是我最喜欢的,因为我参与了jQuery 1.7中event模块的核心代码开发工作。这一章非常精彩,详细解释了事件的目的及其在网页中的用途。通过本章可以了解用户与网页交互的原理。几乎任何一项jQuery操作都是从某种特定的事件开始的。
非常高兴,本书还增加了一些容易被忽视的内容,比如单元测试与大型项目的结构。许多小项目最终都会变成大项目,本书的内容也可以帮助读者学习如何管理持续不断增加的项目。
本书编写了很多demo程序,向读者展示了jQuery各个模块如何协同跟踪,也演示了模板的概念、所有最新JavaScript框架和应用程序的核心。即使是现在,我也感觉非常惊奇,居然可以使用如此少的代码实现各种不同功能的强大demo!
Aurelio De Rosa已经为jQuery社区贡献了很多年,也是jQuery内容团队成员,致力于确保jQuery在线文档的及时准确更新。他在本书中给了大家最新的jQuery库的信息。Aurelio在编写本书的时候也完善了在线文档,以及一些不一致或者缺失的内容。作为本书的读者,你真的非常幸运,很快就会成为真正的jQuery开发者。加油!Write less,do more!
Dave Methvin
jQuery基金会主席