前 言
JavaScript是一种基于原型继承的、面向对象的动态Web脚本语言,其被广泛应用于多种Web平台,是目前最流行的Web前端编程语言,也是Web标准化的三驾马车——结构标准化(XHTML 1.0)、表现标准化(CSS 2.1)以及行为标准化(ECMAScript)中ECMAScript的具体化形式。使用JavaScript,开发者可以编写功能强大的脚本。在当下以用户体验为核心的开发大环境下,JavaScript具有重要的作用。但是作为一种弱类型、无具体对象操作功能的脚本语言,JavaScript也具有先天的不足,其必须借助其他的对象模型(例如XHTML DOM、HTML DOM或XML DOM)来操作各种Web元素,因此在使用JavaScript时,必须考虑各种Web浏览器对JavaScript本身的解析,以及对DOM的表现方式。这也是JavaScript难于使用的根本原因。
基于以上原因,众多具有开拓创新精神的JavaScript开发者们编写了各种各样的第三方JavaScript框架。这些框架的共同点就是通过插件的方式,为普通开发者提供简化的语法以及具有良好封装的接口,供普通开发者快速调用预置的模块,提高开发效率,降低兼容性BUG产生的几率。
目前,常见的JavaScript第三方框架包括大名鼎鼎的JQuery、Prototype、Ext JS、Dojo和YUI等。这些第三方框架各有各的侧重点:JQuery注重简洁和高效,但在功能上相比一些老的框架尚有不足;Prototype注重代码的优雅,基于底层,易学易用,体积精简,但功能较弱;Ext JS的特点是高性能,具有可定制的Web UI控件库、丰富的文档和可扩展的组件模型,但学习难度较大;Dojo是目前功能最强大的JavaScript框架,具有强大的界面和特效封装,但使用较难,语法增强方面较弱。
相比而言,YUI以DOM脚本来简化Web开发,并提供大量高交互性的可视化元素,同时学习难度较Ext JS和Dojo等较小。总体而言,YUI是一种极其优秀的第三方框架。由于其有Yahoo的开发团队维护,因此在版本更新维护方面也比较稳定,不断地推出新版本,由此产生了诸多的拥趸。
本书将以YUI 3.15版本的框架为基础,通过通俗易懂的语言和大量丰富的实例,帮助读者解决实际生产环境中的各种问题,提高Web前端的开发效率。
1.目标读者
本书作为一款YUI框架的入门图书,主要面向具有较强学习能力或一定编程基础的初学者,初学者可以按照篇目顺序依次阅读和学习,逐渐掌握前端开发的基础技术和YUI框架的实用开发技术。
当然,在阅读本书之前,读者如果能对XHTML/HTML或XML等标记语言和CSS样式表具有一定的了解,具备一定的JavaScript基础知识和一些面向对象程序设计理论知识,则在理解本书讲述的各种程序开发思路时,会更得心应手。
如果读者已经具有相当水准的Web开发基础或已经熟练掌握一般前端开发技术,则可以直接跳过第一篇,从第二篇中的后半部分开始学习,或者直接学习第三篇的YUI框架内容。相信通过第三篇正文中的大量具体实例,读者可以非常容易地了解YUI框架的特点以及开发方式。
2.主要内容
第一篇作为全书的开篇,简要介绍了Web开发的各种理论基础,以及采用的相关静态技术,包括HTML、CSS等,帮助开发者了解前端界面的显示方法。
第二篇通篇承上启下,介绍了Web前端交互的相关背景,以及Javascript脚本语言的语法、基本开发方式、面向对象的程序设计以及Web开发中采用的其他交互技术,如浏览器对象、HTML DOM以及前端事件的处理等,为开发者们学习YUI框架打下基础。
第三篇以较大的篇幅详细介绍了YUI框架的基本知识,加载和使用YUI的模块,自定义模块和YUI辅助工具,以及使用YUI框架处理DOM元素和节点、处理增强事件、操作样式表等前端交互的方式。最后,还重点介绍了使用YUI框架来实现前后端异步数据交互的方法。通过这些内容,开发者可以与后端程序员配合开发出完整的Web项目。
全书以阶梯的方式逐级介绍各种相关知识,由浅入深,由易至难,但又结构清晰。用户可以根据实际的需要,选择性地阅读相关篇章即时补充知识,满足生产环境的需求。
3.学习准备工作
在学习本书所讲解的内容时,读者需要有一台可以联接互联网的计算机,并安装Windows或Mac OS操作系统。除此之外,读者还应在操作系统中安装以下几款软件,包括至少一款主流的Web浏览器(例如Internet Explorer 8.0、Firefox 3、Opera 10或它们的更新版本)、一款文本编辑器(Notepad ++)或其他有效的开发平台工具(Dreamweaver、Zend Studio、Eclipse或WebStorm等)。本书所有实例均采用WebStorm开发。如果读者需要使用Ajax前后端交互功能,则需要安装服务器端软件(例如Apache、IIS)、PHP编译器以及数据库软件(MySQL、SQL Server)等,并正确地配置服务器环境。
在学习YUI框架时,读者可能会频繁使用浏览器调试工具(例如Internet Explorer自带的IE开发人员工具、Firefox的Firebug插件或Opera的DragonFly工具)。在选择了对应的Web浏览器后,需要确认这些浏览器调试工具可以正常工作。
4.示例源代码
示例源代码本身仅仅是向开发者介绍某种需求的应对方法。基于篇幅的限制,在本书的正文中,可能不会提供全部的示例代码,而仅仅提供其中最重要的部分,而对于这些纯数据性的内容,开发者可以根据代码的结构自行补充或将其忽略。
5.勘误声明
尽管本书作者已竭尽所能地勘察校验,但是错误总是难以避免。如果读者在本书中找到了错误,例如文法错误或代码错误,请告知本书作者,以便作者能够尽快改正错误,在此致以由衷的感谢。
除了封面署名人员之外,参与本书编写的人员还有李海庆、王咏梅、王黎、汤莉、 倪宝童、赵俊昌、康显丽、方宁、郭晓俊、杨宁宁、王健、连彩霞、丁国庆、牛红惠、石磊、王慧、李卫平、张丽莉、王丹花、王超英、王新伟等。在编写过程中难免会有漏洞,欢迎读者通过清华大学出版社网站www.tup.tsinghua.edu.cn与我们联系,帮助我们改正 提高。
编者
