《JavaScript高级程序设计(第2版)》序
2010年01月17日 Web开发, 好书, 翻译
从诞生至今的大部分时间里,焦虑、抨击、蔑视和误解一直与JavaScript如影随形。JavaScript刚刚问世那几年,很多“严肃的程序员”都认为它不够严肃。
相比之下,.COM泡沫时期加入Web开发行列的许多文科生,则普遍觉得JavaScript深不可测、晦涩难懂。就算那些耐力和韧性俱佳者能够把JavaScript琢磨得很透,但仍然摆脱不掉竞争性浏览器提供的不同实现给他们带来的麻烦。凡此种种,最终导致粗制滥造的脚本越来越多。另一方面,拜Web前端代码的无比开放性所赐,各种坏习惯不断从一个站点被粘贴进另一个站点的源代码中。那些实现活该臭名昭著,可是,JavaScript这门语言也因此被严重拖累,背上了不该有的坏名声了。
2001年前后(随着Internet Explorer 6的发布),浏览器实现已经大为改进,Web开发实践也开始得到改善,呈现出了二者水乳交融的局面。作为Ajax核心的XMLHttpRequest对象正慢慢地为人们所发现,一种新的桌面风格的用户交互模式出现在浏览器中。允许JavaScript操作Web文档结构和内容的DOM API已经定型。而CSS,不管人们如何曲解或者无视它,也无论浏览器开发商怎样丧心病狂地实现它,都已经成长得足够茁壮,它的美妙和反应敏捷令它能够与新的Web交互能力配合无间。最终,JavaScript一扫颓势,变得令人惊诧、让人兴奋、使人敬畏。想想2004年第一次使用Google Maps时的情景吧,那种感觉你或许还记忆犹新。
Google Maps是新兴应用程序的典型代表。这类浏览器编程与后端编程并重的应用程序,不禁令人对Web浏览器窗口中那块“画布”的未来浮想联翩。(除Google Maps之外,早在2003年就基于网页邮件客户端提供类似Outlook功能的Oddpost,也是这类应用程序的一个了不起的先驱。)随着这类应用程序如雨后春笋般大量涌现,以及支持它们的浏览器的市场份额不断攀升,一个Web应用全面复兴的时代真的到来了。“Web 2.0”诞生了,Ajax也成了“IT”技术。Web似乎在一夜之间脱胎换骨,重新激发起了人们的兴趣。而JavaScript作为唯一的Web编程语言,也变得更有意思了。
有意思,但用好它却不简单。JavaScript以及在DOM和BOM中为其定义的API不一致的实现,给跨浏览器编程造成了比原本大得多的困难。前端设计行业还远未成熟。大学教学计划并没有(至今仍没有)做出相应的调整,以满足相关的培训要求。
到2004年底,JavaScript无疑已经成为最重要的编程语言。但从学术角度看,它依然不具备进入一类学科的资格。Web虽然已经翻开了新的一页,但在培养足够的知识全面、训练有素的人才方面,我们依然面临着严峻的挑战。
为此,很多技术作者挺身而出,撰写了不少有关JavaScript的图书。几年来,这类书虽然也出了不下几十本,但总体来说仍然不尽如人意。其中有的在推销与落伍的浏览器有关的技术,有的则在卖弄容易剪贴但却不好扩展和维护的技术。让人想不通的是,许多JavaScript图书让人觉得作者好象并不真正喜欢JavaScript,或者他们不认为读者应该喜欢它,再或者他们根本不相信读者能够完全理解JavaScript。
2005年,Nicholas C. Zakas这本书的第一版面世,为前端工程领域奉献了一本真正的好书。当时,我和雅虎的同事们正在创建YUI(Yahoo! User Interface Library,Yahoo!用户界面库),打算将其作为公司前端工程的基础,同时也借以推广我们这门新学问的最佳实践。每到周五,我们就聚到一间教室里讨论前端工程,也向大家讲解JavaScript、CSS以及在浏览器中创建Web应用程序的知识。我们从已出版的高级JavaScript及DOM脚本编程方面的图书中认真挑选了几本,想让新工程师通过它们掌握如何构建耐用、基于标准且容易维护的Web应用程序。Zakas的书一出版,马上就被选为我们的JavaScript内部培训课本。
从那时起我们就一直使用他的书。我们一致认为这本书太有用了,于是就跟Zakas商量,让他加入雅虎帮我们建立公司的前端工程社区。
Zakas在书中传达的理念与众不同——JavaScript既需要严肃认真地对待,但也是完全可以理解和掌握的。如果你是个程序员,这本书会告诉你JavaScript与各种编程语言的关系,以及如何运用你已经习以为常的各种编程模式。你可以理解JavaScript的继承机制及其固有的动态特性(虽不合传统,但却十分自由十分强大),可以从Zakas这位尊重和理解JavaScript的同道那里学会欣赏JavaScript这门语言。
如果你曾经是一名文科生,在网络泡沫时期步入了这个行业,至今也没有转行,而且想要弥补自己在JavaScript方面的不足,你会发现Zakas是一位难得的良师益友。他可以帮你实现从“会做”到“做好”的转变。他能让你认真地理解这门严肃的学问。最重要的是,他不会让你先入为主地产生对这门语言应该理解多深的想法。相反,通过他严肃、耐心、通俗易懂的讲解,你自然而然地会对这门语言有同样深刻的认识。
本书是经过扩展、更新和改进后的第二版,删除了上一版中与今天的职业需求无关的主题,并用我们在2005年至2008年学习的新知识更新了剩余的内容。这几年是JavaScript发展的重要时期,Zakas则始终位于最前沿孜孜不倦地学习这些新知识。他这些年一直在致力于建造新一代最流行的Web个人门户(My Yahoo!),以及开发Web上最受欢迎的站点(Yahoo!主页)的新版本。Zakas以他作为老师和作者的独特视角,筛选出由这些超复杂、超大型应用程序磨砺出的经验,并将这些经验融入到了本书的字里行间。
他给出的解决方案远远超出了一本好书的范畴,只有每天都与代码同呼吸共命运的人,才有可能与读者分享如此具有实用价值的知识。
说实话,本书新版的面世对我和各位读者而言真是个莫大的喜讯。因为它的内容比上一版更有价值、更能反映JavaScript最新的发展成果,因此也更加令人不可错过。
埃里克·米拉利亚(Eric Miraglia)
YUI高级技术经理 哲学博士
于加利福尼亚州森尼维耳市
Nicholas C. Zakas,Yahoo!主页首席前端工程师,个人网站www.nczonline.net。《Professional JavaScript for Web developers, 2nd Edition》作者。最新专著《High Performance JavaScript》(O’Reilly Media; 1 edition,March 15, 2010)。
《Web界面设计》读者评论
2009年11月9日 好书, 翻译
想知道怎样在今天的Web上创造伟大的用户体验吗?UI专家Bill Scott和Theresa Neil通过本书向读者展示了超过75种基于富交互构建Web界面的模式。作者以自己在Sabre、Yahoo!和Netflix多年的工作经验为依托,把精挑细选的各种最佳实践归结为6个重要原理,深入浅出地向读者阐释了如何有效利用当前的Web技术。本书每一部分都围绕一个设计原理展开讨论,通过学习本书,读者可以掌握以下原理。
直截了当:通过页内编辑、拖放和直接选择等模式实现基于上下文的内容编辑。
简化交互:借助“轻量级”上下文工具,有效减少用户与站点的不必要交互。
足不出户:采用覆盖层、嵌入层、动态内容和页内流程模式保证访问者不离开当前页面。
提供邀请:向用户发出进入下一级交互的邀请,帮助用户发现站点的功能。
巧用变换:学习何时、何地、以何种方式使用动画、电影转场效果及其他变换手段。
即时反应:以实时搜索、实时建议、实时预览及更多模式,为用户提供丰富的交互式体验。
本书以当前最流行的Web站点为例,介绍了大量行之有效的Web界面设计模式。如果你想构建或重构站点,并希望站点以丰富的交互为特色,那本书就是你出奇制胜的宝典。
“本书提供了富因特网应用程序(RIA)设计人员和开发人员(或开发团队)作出明智选择时必须知道的一切。对于当今主流的Web设计师而言,(本书)应该人手一册。”
——Erin Malone,Tangible UX负责人
当当网读者评论
读者:Drek
来自:广州市
标题:很多新的,流行的理念
评分:4星
发表于 2009-10-11 23:53
我是个程序员,可惜在的公司太小,美工,前台,后台,设计,样式都要一手包办。其实挺郁闷的,为了在点脱离这情况,学多点广博的知识,早日飞翔,成就梦想。
而涉及到的知识都要去看,去学。
界面也要自己去处理。所以看到了本书,站在一个程序员的角度考虑,里面的设计思想其实很潮的。没有你想不到,只有你做不到的。书是针对界面设计,没有任何提及程序,代码如何实现的,也没有提及美工方面如何处理的。
可以说同一个设计相思,可以用不同东西去实现,只要你会的。
所以感觉如果作为程序员,又要考虑界面设计的朋友,本书值得一看。如果就美工和单纯是界面设计的,也给予了你不同的设计思想。
当然,世事没有完美的,程序,界面或者流行一时,2,3年间也许变化很大,为了适应自己的工作,或者适应这个时代,可以得到的资源都不要放过哦 查看全文 »
《jQuery基础教程(第2版)》也出版了
2009年11月4日 好书, 翻译
本书作为《jQuery基础教程》的升级版,涵盖了 jQuery 1.3的全部新特性,特别是新增了介绍 jQuery UI(jQuery官方用户界面插件库)的内容。本书前 6章以通俗易懂的方式介绍了 jQuery的基本概念,主要包括 jQuery的选择符、事件、效果、DOM操作、AJAX支持等。随后 3章从理论到实践,通过表格操作、构建功能型表单、实现滑移和翻转效果等实例,深入浅出地讲解了如何创造性地运用 jQuery提供的丰富而强大的 API。本书最后两章专门介绍了如何使用和编写 jQuery插件。值得一提的是,本版新增的附录 D分门别类地列出了所有 jQuery API,为高效使用 jQuery提供了方便。
本书内容
第1章将带领读者对jQuery有个大概的了解。这一章先简单介绍jQuery及其用途,然后的内容主要涉及如何下载和设置jQuery库,同时也会指导你使用jQuery编写第一个脚本。
第2章讲述如何通过jQuery中的选择符表达式及DOM遍历方法,在页面中的任何地方找到想要的元素。这一章将展示如何使用各种选择符表达式为页面中的不同元素添加样式,其中一些是通过纯CSS方式做不到的。 查看全文 »
《PHP经典实例(第2版)》出版了
2009年11月4日 好书, 翻译
本书能够为您节省宝贵的Web开发时间。有了这些针对真实问题的解决方案放在手边,大多数编程难题都会迎刃而解。
今天,用PHP开发的2000万个网站充分表明,PHP已经成为一门最流行的脚本语言。本书将PHP的特性与经典实例丛书的独特形式组合到一起,足以帮您成功地构建跨浏览器的web应用程序。在这个修订版中,您可以更加方便地找到各种编程问题的解决方案,本书中内容涵盖了:
- 表单处理
- session管理
- 数据库交互
- 使用Web 服务
从初学者常见的问题到高级Web编程技术,这本问题指南中包含了丰富的、具有实际应用价值的实例,可以满足使用PHP生成动态Web内容的任何人的需要。书中的每个实例都细致地讨论了所提供解决方案背后的逻辑和思想,用源自PHP专家的洞察力帮你轻松地掌握这门语言。书中更新了PHP5的有关内容,并详细地解释了如何使用新增的语言特性,比如面向对象能力的巨大改进和新的PDO数据访问扩展等。书中特别增加了有关类和对象的部分,包含了以下基本内容: 查看全文 »




本博客专注于Web前后端技术和技术翻译。目前正在翻译《JavaScript高级程序设计(第2版)》。新浪微博(t.sina.com.cn/lisf),Twitter(@cncuckoo,仅仅用于跟踪国外牛人;我翻不了墙,无法接受各位朋友的follow,抱歉!)