这是一个大问题。最简单的答案是“并非要学习所有知识。”更为精确的答案取决于你从哪里开始和你想做什么。 就像前面提到的那样,术语“网页设计”已经是包罗万象,它包含了很多不同的学科,从平面设计到严谨的编程。我们将分别看看这些技术。 如果你在设计自己的一个小网站,那么你就要身兼数职。好消息是你有完全的自主权。就像在日常生活中你既要做兼职的厨师,清洁工,会计师,外交家,园丁,还要做建筑工人—但是对你来说,这只是围绕房子你需要做的一切。同样,作为一个个人网页设计师,你既要做兼职平面设计师,作家,制片人,还要做信息架构师,但是对你来说,只是在制作网页而已,完全不必担心什么。 你也可以雇用一些专家来填补你的技术缺陷。比如,虽然我创建网站已经有十几年的经验,但是我依然会雇用一些程序员和多媒体开发者来完成用户需要的功能。这样我才能专注于我最擅长的部分。 大型网站几乎都是由团队来创建的,团队规模可能是几个人,甚至可能是数百人。在这种情况下,每个成员都只关注于网站建设的一部分。如果是这样的话,你掌握的技术可能已经完全够用,有兴趣的话可以去学习新的技术。 下面是网页设计中的一些核心学科,同时还有一些每个领域所需技能的简要介绍。 看一看 “网页设计”综合了各种学科,包括: 平面设计 信息设计 界面设计 HTML,样式表和图像制作 脚本和编程 多媒体 如果你没有兴趣成为一个无所不能的个人网页设计师,你可以选择专业化和加入团队来工作,也可以做一个自由职业承包商。 平面设计 由于网络是一个视觉媒体,所以网页需要注意展现和设计。平面设计师决定了网页的一切外观:图像,标志,颜色,布局等等。在印刷界,平面设计师对于最终产品的成败有着非常重要的作用。如果你是网页设计中的一个平面设计师,你可能并不需要学习任何后台编程语言(我就是如此)。 如果你有兴趣专业的做商业站点的视觉设计,我强烈建议平面设计培训和精通Adobe Photoshop(这是工业标准)。如果你已经是一个平面设计师,你可以很容易的使你的技术适用于网页。 因为图象是网页设计的一个很大部分,所以连网页设计爱好者都需要了解如何使用一些图片编辑软件。 如果你没有视觉设计的经验,你可能需要自己研究一下平面设计的基础知识。下面书会给你一个良好的开端。 The Non-Designer’s Design Book,第二版 Robin Williams(Peachpit Press出版社, 2003) The Non-Designer’s Web Book,第三版 Robin Williams 和John Tollett(Peachpit Press出版社, 2005) Design Basics,第六版 David Lauer 和 Stephen Pentak(Harcourt College Publishers出版社, 2004) Graphic Design Solutions,第三版 Robin Landa(Thomson Delmar Learning出版社, 2005)。 信息设计 网页设计中很容易被忽视的一面是信息设计,内容的组织和和如何获取这些内容。信息设计师(也叫做信息架构师)处理的是流程图表,他们也许永远不会接触一个图形和文本;然而,他们的工作却是站点创建的关键环节。 完全可以找到与信息设计相关的课程,虽然这些课程可能是研究生的水平。然而,自我研究和团队工作的经验还不足以完全掌握这些技术。如果你认为你对网页开发的这些方面感兴趣,可以看看下面的书: Information Architecture for the World Wide Web: Designing Large-Scale Web Sites,第三版 Lou Rosenfeld 和 Peter Morville(O’Reilly出版社, 2006)这本书对这方面有非常好的概述。 Information Architecture: Blueprints for the Web,Christina Wodtke (New Riders出版社, 2002) 前台VS后台 你可能听网页设计师和开发者说,他们专攻网站建设的前台或后台。 前台设计 “前台”指的是网页设计中日浏览器直接相关,或在浏览器中直接显示的部分。该书主要关注于前台网页设计。 通常认为下面的这些任务与前台相关: 平面设计 界面设计 信息化设计,因为这与网站的用户体验相关 网站制作,包括HTML文档,样式表和JavaScript 后台开发 “后台”指的是运行在幕后服务器上的程序和脚本,这些程序和脚本使页面成为动态页面,并能够互动。通常来说,后台网页开发是有经验的程序员的任务,但是如果所有的网页设计师都能熟悉后台功能将是非常有用的。 下面的任务就应该位于后台: 信息设计,因为它确定了信息在服务器上是如何组织的。 表单处理 数据库编程 内容管理系统 使用Perl/CGI,PHP,ASP,JSP,Ruby on Rails,Java和其他编程语言完成的服务端网页程序。 界面设计 如果说平面设计与网页外观相关,界面设计就是关注于网页是如何工作的。“可用性”指的是,网页浏览者能否很容易地实现自己的目标,以及使用这个网站的体验,这些都是界面设计的一个功能。网站的界面包括在这个网站上操作的方法:按钮,链接,导航装置等等,还包括这个页面的功能组织情况。在大多数情况下,界面、信息架构和视觉设计都是紧密相关的。 界面设计经常是平面设计师的工作;在某些情况下,界面设计是界面设计师或者信息设计师的工作。一些界面设计师具有软件设计的北京。你可以找到很多界面设计的相关课程;然而,这个领域的工作你可以结合自己的研究经历和常识来完成。下面这些流行书也是非常有用的: Don’t Make Me Think, A Common Sense Approach to Web Usability, 第二版 Steve Krug (New Riders出版社, 2005) The Elements of User Experience: User-Centered Design for the Web, Jesse James Garrett (New Riders出版社, 2002) O N L I N E RE S O U R C E 在线资源 我曾在我的文章“建设可用网站(Building Usable Web Sites)”中讲过信息和界面设计相关的主体,你可以在www.learningwebdesign.com下载这些PDF。 文件制作 有很多网页设计的过程中都涉及到文件、样式表、脚本和组成网站的图片的创建和疑难解答。通常把编写HTML和样式表的过程称为创作。 完成制作的人必须非常了解HTML(HTML是一种标记语言,它组成了网页文件)和样式表,有时还要了解脚本和编程技巧。在大型的网页设计公司,完成组成网站的文件的团队通常叫做“开发部”或者“产品部”。有时候,这些任务会细分给CSS设计师,HTML程序员和客户端程序员。 本书会告诉你网页创作的基础知识,包括如何编写HTML文件,创建样式表和制作网页图像。幸运的是,这些学起来并不难。要想掌握这些基础知识,只有在创建网页的过程中练习,并且在错误中学习。当然还有一些创作工具可以加快制作的速度,我们将在本章后面一部分讲述。 除了HTML文件和样式表以外,出现在网页上的每个图片都需要进行适当的处理和优化。图像制作技术将在第四部分讲述。 脚本和编程 高级网页功能(比如表单,动态内容和互动)需要编写网页脚本,有时候还需要编写运行在后台的特殊程序。脚本和编程是网页程序员(也称为开发者)的工作。开发者专注于编程,他们可能永远不会接触图像文件和网页外观,虽然他们需要与信息和界面设计师非常好的沟通,以确保他们编写的脚本能满足预定目标和用户的期望。 网页脚本和编程需要高超的电脑编程技术。虽然很多网页程序员具有计算机科学学位,但是依然有很多开发者是自学成才的。开发者往往从复制并修改已有的脚本开始学习,然后在工作中逐渐提高他们的编程能力。如果你从没编程的经验,学习起来可能会有些难度。 教授网页编程超出了本书的范围。不用编程也完全可以创建出令人满意的,内容丰富的,设计良好的网站,所以网页设计爱好者没有必要灰心丧气。然而,如果你需要通过表格收集信息或者根据要求发送信息,那么你的团队就需要有一个程序员了。 多媒体 网络很酷的一个特点是可以在网站上添加多媒体元素,包括声音,影像,动画片和互动的Flash电影(请看侧栏)。你可能想要在你的网站上添加多媒体技术,或者成为这方面的专家。如果你并不想成为一个多媒体开发者,你完全可以雇用一个。专业的Flash开发者和了解如何制作适用于网络的音频和视频文件的人是社会非常需要的人才。网页开发公司经常寻找精通标准多媒体工具,有良好的视觉感觉和灵感,并且能够设计具有创意的多媒体的人。专业的Flash也需要了解ActionScript,以便在Flash电影和界面中添加高级行为。 关于Flash的一些知识 Adobe公司的Flash(以前的Macromedia Flash,FutureSplash)是特别为网页创建的一种多媒体格式。Flash使你能够创建全屏的动画片,互动图片,集成音频,甚至创建脚本游戏和应用程序。有一些网站使用Flash来代替(X)HTML作为整个界面,内容和功能。 Flash有很多优点: 由于常使用的是矢量图,所以文件很小,电影可以无损地调整大小。实时反走样可以使边缘平滑。 他是一个流格式,所以下载后,电影播放起来很快,而且流畅。 你可以使用ActionScript来添加行为和高级互动性,让Flash成为前台动态生成的内容或者电子商务的功能。 Flash插件是分布式的,所以支持是可靠的。 关于缺点: 如果需要插件来播放Flash媒体,会使开发者不爽。 对于非图形化浏览器来说,内容会丢失。然后,Flash有很多改善可访问性的特点。 用来创建Flash内容的软件往往非常昂贵,学习起来也很难。 Flash并非适用于所有的网站,它并不是用来替代(X)HTML的。然而如果使用的好,它可以让网站给人留下很深的印象和非常好的用户体验。如果要了解更多的信息,请在Wikipedia.org搜索“Adobe Flash”。