推荐序-张克军

F o r e w o r d推荐序
Web 前端开发是从网页制作演变而来的,名称上有很明显的时代特征。在互联网
的演化进程中,网页制作是 Web 1.0 时代的产物,那时网站的主要内容都是静态的,
用户使用网站的行为也以浏览为主。2005 年以后,互联网进入 Web 2.0 时代,各种类
似桌面软件的 Web 应用大量涌现,网站的前端由此发生了翻天覆地的变化。网页不再
只是承载单一的文字和图片,各种富媒体让网页的内容更加生动,网页上软件化的交
互形式为用户提供了更好的使用体验,这些都是基于前端技术实现的。
以前会 Photoshop 和 Dreamweaver 就可以制作网页,现在只掌握这些已经远远不
够了。无论是开发难度上,还是开发方式上,现在的网页制作都更接近传统的网站后
台开发,所以现在不再叫网页制作,而是叫 Web 前端开发。Web 前端开发在产品开发
环节中的作用变得越来越重要,而且需要专业的前端工程师才能做好,这方面的专业
人才近两年来备受青睐。Web 前端开发是一项很特殊的工作,涵盖的知识面非常广,
既有具体的技术,又有抽象的理念。简单地说,它的主要职能就是把网站的界面更好
地呈现给用户。
如何才能做得更好呢?
第一,必须掌握基本的 Web 前端开发技术,其中包括:CSS、HTML、DOM、
BOM、Ajax、JavaScript 等,在掌握这些技术的同时,还要清楚地了解它们在不同浏览
器上的兼容情况、渲染原理和存在的 Bug。
第二,在一名合格的前端工程师的知识结构中,网站性能优化、SEO 和服务器端
的基础知识也是必须掌握的。
第三,必须学会运用各种工具进行辅助开发。
第四,除了要掌握技术层面的知识,还要掌握理论层面的知识,包括代码的可维
护性、组件的易用性、分层语义模板和浏览器分级支持,等等。
可见,看似简单的网页制作,如果要做得更好、更专业,真的是不简单。这就是
前端开发的特点,也是让很多人困惑的原因。如此繁杂的知识体系让新手学习起来无
从下手,对于老手来说,也时常不知道下一步该学什么。
目前市面上关于 Web 前端开发的书主要都是针对单一技术的,本书与这些书有着
本质的区别。它主要想实现两个目标:第一,为不太有经验的 Web 前端开发工程师建
立大局观,让他们真正了解和理解这个职业;第二,帮助有一定 Web 前端开发经验的
工程师修炼内功,通过编写高质量的代码来提高前端代码的可维护性。这是很多前端
开发工程师感兴趣的内容。
本书的前两章讨论了网站重构和团队合作,这是很有必要的。网站重构的目的仅
仅是为了让网页更符合 Web 标准吗?不是!重构的本质应该是构建一个前端灵活的
MVC 框架,即 HTML 作为信息模型(Model),CSS 控制样式(View),JavaScript 负
责调度数据和实现某种展现逻辑(Controller)。同时,代码需要具有很好的复用性和可
维护性。这是高效率、高质量开发以及协作开发的基础。建立了这种大局观后,学习
具体技术的思路就更清晰了。
代码质量是前端开发中应该重点考虑的问题之一。例如,实现一个网站界面可能
会有无数种方案,但有些方案的维护成本会比较高,有些方案会存在性能问题,而有
些方案则更易于维护,而且性能也比较好。这里的关键影响因素就是代码质量。
CSS、HTML、JavaScript 这三种前端开发语言的特点是不同的,对代码质量的要求也
不同,但它们之间又有着千丝万缕的联系。本书中包含着很多开发的思想和经验,都
是在长期的开发实践中积累下来的,不同水平的 Web 前端工程师都会从中获得启发。
张克军(著名 Web 前端开发工程师)
2010 年 4 月