治疗毛囊炎最有效的药:柏枫谈做网站都需要学什么

来源:百度文库 编辑:偶看新闻 时间:2024/05/06 11:20:00

柏枫谈做网站都需要学什么

2010年11月28日 发表评论 阅读评论

柏枫做网站也有些年了,不敢说在这一行有多深的造诣,倒是长了不少见识,也攒了一点经验,加上朋友们捧场觉得我这网站还不错,索性就抖搂抖搂这些年的心得,一是对自己的总结,二是如果能给刚入这行或准备入行的朋友提供点参考和建议,也是件好事。


引子

内容太多,恐怕一篇讲不完,也比较枯燥。今天只是概括性地介绍,今后会陆续从技术角度和视觉角度等入手,谈点更有针对性的内容。包括学习的顺序、过程,使用的工具、软件、技巧,推荐的书籍教程,知名的网站、设计师等等吧,想起来的都写上。如果你看万本文觉得有用或是想了解更多某方面的知识,或者认为文中哪些地方不正确或不妥当,都可以可以给我留言或发邮件。

网站都包括哪些内容?

从底层硬件到浏览者,可分为服务器硬件操作系统服务器软件(HTTP服务器脚本服务器)、数据库网站程序网页标记样式网页,最后是浏览者。每一个领域都可以有专家,而且一个人很难精通所有这些知识,而且我只是大体的划分,细分起来内容会更多,但喜欢网页的你,也完全不必被这些可能暂时还不知所云的术语所吓倒,因为一个人也没必要掌握全部这些知识,优秀的网页设计师可能就在你的身边,而且不见得比你聪明。

上面的大卸八块式划分可以再简化一下,因为网页设计和网站制作大多数情况不必关心硬件和操作系统,服务器软件简单了解一下也可以,剩下的再归拢一下就剩一半了。那就是程序级、网页级和用户级。程序级多指动态网站开发,所谓动态和静态只是网站内容是否可动态更新。有的网页只是一个单独的文档或图片,无论你合适访问它,它的内容都是固定不变,如果要修改的话,那么就要重新编辑这个网页,静态网站是不需要程序级开发人员的。动态网站的内容顾名思义就是随时可以更新,最典型的例子就是搜索引擎,你输入想要搜索的内容的关键字,然后点击搜索,网页上就会显示相关的结果,而且根据你输入的关键字的不同,结果也不同。这种神奇的网站就是依靠网站后台或简单或复杂的程序来控制的,如果你是软件相关专业的学生,这方面对你来说并不难,而且可以说比任何软件开发语言都要简单。

网页级则是针对呈现于浏览器上的内容,怎样去显示,因为搜索结果出厂的时候是没有任何格式的,但你看到的却被整理的井井有条,还有无数的网页很漂亮,很美观,这都需要在网页阶段来实现,但网页制作介于程序和视觉时间,所以这一领域的人才比较广泛,做出来的网页风格也很丰富。

很多人对于网站制作的分类都是两类,一个后台,一个前台,我这里再加上一个,就是越来越受到业界重视的用户级,这名字是我瞎编的,但意思是一样的。就是研究用户习惯,组织内容。好比是球队的教练,剧组的导演,乐队指挥。这是一门很抽象,但又很具体的学问,不过现阶段国内这方面的人才很少。后面会详细介绍。

我该选择哪条路线?该学什么知识和软件?

我最开始在这个问题上也很困惑,并且像无头苍蝇一样,把所有相关的东西都尝试了一遍,从数据库到平面设计,从程序到信息架构,结果发现,最好的还是能够一专多能,不要拘泥于某一种技能,但也不可杂而不精。后面我会逐一介绍各个领域的特点和注意事项,你可以根据自身的特点和喜好来选择,而且也不是绝对的,就一定要吃这碗饭,就像我从来也没想过一心想当程序员,结果却混到市场推广的队伍里。

网站是怎么运作的?

大致的流程是,你在网页浏览器的地址栏中输入比如http://www.baifeng.me/,然后回车。浏览器就会将这个叫网址的东西告诉路由器,类似中转站的那么一个东东,让它帮你找这个叫柏枫的网站在什么地方,结果这个中转站派人四处打探,结果在某某地方发现了,赶快通知那个网站说有人要看你们的网页,马上准备。然后这个网站接到了请求(HTTP Request),并根据网址包含的一些参数命令网站程序到数据的仓库中提取数据,然后归纳整理,再打包成网页,委托中转站再回递给你的网页浏览器,网页就显示出来了。

中途的快递不用关心,我们讨论的只是网站,这里边就涉及几个部门,首先是处理请求的HTTP服务器,把命令转达给网站程序,存储数据的数据库,负责打包的网页外观。思路似乎比刚才清晰点了,如果你是偏技术型的,比如程序员、计算机专业、男生,那就继续往下看。反之如是艺术生、女生或想做点有创造性的东西,那就可以直接跳过,到网页部分了。

HTTP服务器都有什么?

Apache、微软IIS、Ngnix、Lighttpd等等,最流行的是Apache,占超过一般的市场份额,其次是微软的IIS,我的建议是就是这两种,分别对应的就是两种应用最广泛的网站程序,PHP和ASP。其它的虽然也有很多网站采用,甚至在某些方面要优于这两种,但现阶段,知道个名字就行了。

PHP还是ASP?

网站程序语言很多,PHP、ASP/ASP.net、JSP、ColdFusion、Perl、CGI、Ruby、Python,每种都可以独挡一面,但最流行的是PHP,不光学起来简单,相关的资源也很多,这个便利条件不仅仅体现在代码上,也体现在应用上。这个后面会详细介绍。ASP因为是微软是东西,所以技术支持相当有劲,不过也正因为是微软的东西,前途不太明朗。JSP算是Java一脉,如果你有Java底子的话,学习JSP会很轻松,但这种语言过于庞杂,适合做高端大型网站,ASP.net也是如此,二者有完善成熟的开发框架,但对对小网站来说,此二者效率太低。ColdFusion是Adobe的技术,原来是Macromedia,就是出那个“网页三剑客”的,现在很少有人用了。Perl和CGI也是,基本都被PHP所取代,但有机会应该了解一下,Ruby和Python发展较晚,但理念很先进,如果将来有机会的话,应该多留意,还有一些前卫的语言,比如云计算方面的内容,超出本文范围,我知道的也不多,就不赘述了。

对于个人散户来说,我建议在PHP和ASP之间选择,本质上来讲,语言并不起着决定性的作用,就像人类的自然语言一样,很多国家和语言都诞生了伟大的思想家和文学家,但实际操作中,选择英语确实比德语要实惠的多,PHP就是这样,应用广泛、资源丰富、简单易学而且发展的越来越好,ASP属于21世纪头10年的中国大专院校。老师们不用备课就能讲到你进入梦乡。

数据库是什么?

数据库顾名思义就是存放数据的仓库,一般的小网站,简单的几个展示网页,比如学生作业之类的不需要数据库,但对于比如图书馆查询系统,微博等这类拥有大量数据的网站就需要一个高效、稳定的数据管理机制,数据库用的语言叫SQL,最初并不是这样,后来才有的,这方面的历史可以自行查找,SQL全称是结构化查询语言,对应的那叫关系型数据库,在数据库一节会做详细介绍。现在说的就是主流的几种。面向大型系统的Oracle、MS SQL Server,面向中小规模应用的MySQL、SQLite和PostgreSQL等等,历史上名噪一时的数据库很多,大部分现在还在使用,但我介绍的都是主流,目的就是四平八稳地帮助你进入这个行业。对于新手和个人站长,我推荐后面三种,前两种由于系统复杂,对配置要求高等专业素质较强,不适合入门学习,后面三种非常适合入门学习,并搭建个人Web服务器。

SQL语言的学习也要花一些时间,但这事是可以商量的,如果你对数据库更感兴趣的话,很多运算和动作都是可以在数据库中完成的,如果你觉得这个模型太过抽象的话,也可以通过程序来控制,不是绝对的。

网页外观

如果你对程序和技术没兴趣或完全不能理解某些人为什么愿意花一天的时间去把一个小功能的执行速度提高5秒钟。那么下面的内容就是为你准备的。上面是网站开发,现在就是网页设计了,但也别高兴的太早,网页外观还是需要很多技术,不过都很简单。首先是网页标记语言。你可能听说过HTML 5或HTML,这个就是网页标记语言,全名叫超文本标记语言,不用管它的具体意思,知道了也不会有什么好处。标记的作用就是把网页上的文字、图片、视频等元素打包,包成一个个盒子,并且排成一溜,有个先后顺序,包含关系,大盒子可以套小盒子。很简单吧,但是很重要,所以HTML虽然简单,但我仍然要强烈建议你打好基础,养成良好的编码习惯,会让你在今后的生活中受益无穷。

可我在网页上并没有看到什么盒子?

有一种叫CSS的东西改变了网页的外观,这是网页设计师除了HTML以外,还需要掌握的重要知识之一。有这两样就基本可以胜任技术和视觉之间的衔接工作了。HTML就像是骨头,而CSS就是衣服,你看不到骨头,但它却真实存在并支撑着衣服。有人会问了,怎么没肉呢?肉在下面。

除了HTML和CSS还有什么?

前文提到了动态网站,注意还有一个名词叫动态网页,网页上的内容也分动态和静态,但这就是比较直观了,能动的就是动态的,反之不能动的就是静态的呗。动态网页常用到的技术包括JavaScript、Flash、Java Applet等等。Java Applet就是Java程序的一个Web控件,不用知道什么意思,因为已经逐渐被淘汰了。JavaScript和Flash现在是主流动态媒体技术,JavaScript偏重程序,Flash则偏重设计,可以根据你的情况来选择,但我个人的意见是Flash也终将被淘汰,所以有条件的话,最好学点JavaScript或者找个会JS的同伙,这种语言并没有看上去那么邪乎,而且和Java也没什么关系,后面会做详细介绍。Flash因为本身是一种虚拟机的机制,所以不适合在手机等移动设备上运行,越来越多的迹象表明,这种促使Adobe并购Macromedia的拳头产品正在走向博物馆。

我讨厌代码

下面的内容转为讨厌代码的你而准备,如果你是纯艺专业,甚至不怎么会电脑,那么我倒还是要建议你学学平面设计,如果你会至少一种图形软件的话,这行就不难了。网页设计的大部分理论都来自报刊、电视等传统媒体,但又有其交互的特质,所以除了平面的理论以外,还要学习一些网页独有的东西,比如网站必须有标题,风格必须统一,如果你坚持认为网页设计要创新,要有个人风格,那么只能说明你对这行了解还不够深刻,甚至不懂什么是设计。

如果你和我一样本来是个技术工种,但厌倦了每天冷冰冰的日子,天生还有那么点艺术细胞,想投身激情四射的设计行业,熟悉电脑操作,PS也用的比较风骚,接下来就要学习设计理论了。比如排版、字体、色彩理论、布局、材质等等,像不像三分样,这是个态度问题。

我觉得我已经行了

可我觉得还远远不够,网站不光是给人看的,更是给人用的,要强调人。网站和超市不一样,你不会知道网页到底在什么地方,它是个平面的,逻辑的,你不用乘坐电梯并推着购物车就能瞬间穿行于各种网页之间,你知道你现在在哪吗?程序不会告诉、设计也不会,这属于用户体验。

用户体验听起来像个很时髦的词

用户体验是个很宽泛的概念,几乎囊括所有和用户有关的内容,包括前面讲的,其实目的都是一个,那就是用户体验。作为网页设计师,要时刻牢记,你做的东西是给人看的,而不是机器。人的价值远高于机器,永远不要妄自猜测用户的习惯,也不要总把用户想的跟白痴一样(事实上很多老师确实会这么教你,但这是不对的)。

网站易发现性、可用性、信息架构、视觉传达等等都可以归为用户体验。用户体验是直接面对用户的,所以也是最重要的一个环节,即便在全球范围也很少有杰出的用户体验师,不杰出的很少,因为跨的领域太多,而且需要大量的调查研究,对于网站这个新兴的年轻媒体,可用的资料也很少,但这不能作为我们不认真对待的借口,在现有的条件下,我们仍然可以把它做的很好。

总结

是不是觉得做网站很恐怖?实际上还有很多内容没有提及,而且已经提到的东西也只是概念性介绍,比如最后的可用性就够讲上几个星期的。信息架构我连讲都讲不了,但一方面只要你用心、努力,并没有特别深奥的东西,而且也着实没必要样样精通,再说那也是不可能的,倒是如果你精通哪怕其中一门的话,至少吃喝不愁了,就这么邪乎。本文的作用,第一如果你刚刚接触网页设计或网站开发,有这么多东西可能会用到,摘你认为有用的学学。第二如果你在一个团队,需要做网站,但不知道都需要哪方面的人才,或许也能从本文获得一些建议。今后我会陆续在我所知道的范围内,深入讨论各门类的内容。