扫一扫
关注微信公众号

Web设计里的软件工程思想
2007-01-19   

现在的网站规模越来越大,涉及到的部门、人员的数量也是越来越多。自然而然的,Web 开发组的规模也是越来越复杂了,由此所带来的管理难度也越来越大,在下面的文章里,我将与大家探讨一些相关的Web设计观念。

1、 Web是一种软件么?
最早的Web设计是很简单的,一大堆的超链接,有些地方偶尔会看见很高级的CGI(在当时的环境下),而现在的Web已经具备了与数据紧密连接的需要,现在的Web项目中已经出 现了很多B/S结构的应用,不用怀疑,Web已经或者即将成为软件的一个重要分枝。

2、 Web设计是艺术还是工程?

很多人都认为网页设计是一个艺术性的工种,并且是具有很大的挥洒余地的地方,所以经常 会看见很多网页设计比赛,但是大家不要忽略一个问题,大部分的网页设计比赛比的仅仅是一个或者至多几个页面,而不是一个完整的Web体系。Apple公司的Web设计有没有艺术感? 答案是肯定的,那为什么Apple不毫无限制的挥洒其设计师的艺术细胞呢?即使把我们看见的几个经典的设计风格放上去可以嘛!但是他们并没有这么作,我想原因应该是很容易被理 解的:任何Web设计的艺术性都必须与Web体系的工程性求得一个平衡。

Web是一种有能力包含大量信息的用户界面为主要交互通道的软件,所以它的艺术性自然显露的比较明显,我想这也是为什么很多人将网页设计归纳到艺术一类了、将Web设计等同于网页设计了。

3、 Web设计师可以与programming 中的coder相提并论么?

这是一个很有意思的问题,以前我记得在Delphi区里面曾经讨论过印度软件行业里面高中生Coder问题,现在市面上招聘网页设计的公司还是不少,他们招聘这些设计人员后如何安排他们的工作呢?这里应该有很多问题。

不同的网页设计人员的设计能力自然是不同的,有时候能力相差甚至是很大的,我们不能够指望自己的公司拥有的都是一流的设计人员(或许公司也并不愿意出相应的价钱),所以我将一般性的Web设计师定义为 Coder 设计师。


但是呢,如何将一些能力并不出众的人合理的安排,并作出稳定的项目呢?在实际应用中我们经常使用的是定义一套统一的设计方法(不管是显性还是非显性的),或者更具体一点就是使用类似模板、JS、SSI输出等方法,对于一个已经定义好相关Web组件的开发组来讲,开发人员要做的并不是如何再设法把已经有的组件修改过来修改过去(这样会直接导致非主动性需求变动了),而是根据具体情况,在必要的时候设计新的组件(当然这种创造性的工作不太可能交给一般的Coder Web设计师作),然后由 coder 级别的Web设计师来生成大量的一般性页面,或者是使用其他的软件。

4、 Web设计可以通过人海战术来完成么?

我觉得不太应该使用这种策略,如果你们的高级Web体系设计人员作出的体系大的无法通过有限的人员来实现的话,那么即使通过“人海战术”勉强实现了,那么管理也是很容易出问题的,优良的体系仅仅可以从理论上较少出错的可能性,但是页面数目大幅度增加的时候,而且又是人来完成的,错误自然也会增加。

另外现在所使用的发布系统也不是说不可以完成大量的重复人工劳动,何必自寻烦恼?

5、 Web设计中时髦技术VS成熟技术?
最典型的、也是最极端的例子就是一些个人网站,她们往往使用一些极其花哨的东西来表现流行,而作为大型Web项目,使用这些花哨的东西自然不符合自然规律。

技术是为业务实现服务的,所以完全没有必要在不适当的时间、系统中使用不恰当的技术,使用ASP+SQL作一个大型的网上商店是可行的,但是如果这样的配置仅仅用来一个10页以下的网站+一个留言板,投资是不是高了一点呢?

我还是希望列举网景公司的公益性项目– DMOZ.ORG,她的设计确实不怎么样,起码不怎么花哨,但是你知道吗,她可是许多搜索引擎的数据来源(其中有Google,AOL等)。可见一个Web项目不是围绕技术服务的,而是围绕需求和业务服务的。

6、 Web设计中的(类)Class
经常上微软的网站的朋友应该记得,Microsoft的设计风格是非常统一的。由外国Web设计理论家说过,Web设计同样是具有大量的Conversions (惯例),如导航条,按钮等,一个网站的风格应该是有一个或者几个Abstract (抽象) 组成的,但是这种Abstract 和编程写代码的Abstract 是有很大区别的:
1、首先它是一种用大量图片以及带有格式文字组成的,基于用户界面的一个东西,说不定Flash, JavaScript 都用上了~~哈!
2、我们在编程的时候可能会遇到 override,这在Web的“类”当中所对应的动作应该是这样:我们作一个子站点,它的一些宏观风格从Abstract里继承了,但是我们觉得有些地方应该进行一些修改,比如Abstract的GlobalColor 是天蓝色,而子站的GlobalColor需要向真实的产品VI靠近,所以就可以被 override 成为灰色。

热词搜索:

上一篇:网页编辑常用表现的实现方法
下一篇:10条方法让浏览者在你的网站待的更久

分享到: 收藏