已阅读:2,263 次
界面程序开发的一些总结(三)
ian | 其他 | 2011/10/13


      然后最痛苦的时候来了,尽管已经了解并掌握了几乎所有必需的知识,对于一个任务,我们能从功能上比较完美的实现,但这个时候,我们已经站上一个高度,追求完美的品质告诉我们一定要把界面做得尽量美观,让人过目难忘或者心情舒适。但开发过程中我们发现这是一个很痛苦的过程,一切并不像想象中的那么简单,自己做出来的界面经常会让自己反胃!我写过小游戏,写过播放器,但自己几乎不会去用它们,为什么?就是因为做出来的界面让自己实在难以提起兴趣,它们跟那些软件相比,差得太远。

    我们很快就发现这个阶段遇到的困难,跟以前不一样。以前的难题可以通过经验和知识来克服,这次却不行了。我们之所以感到痛苦而不是困惑,就是因为问题不是出在专业技能上,这是审美的问题,这是大多数程序员缺乏、甚至是匮乏的素质。在程序员的世界里,大家都很容易陷入代码的泥淖而不自觉,这对于后台开发人员无所谓,但对于一名前台开发人员,一名从事界面开发的专业人来说,审美素质是很重要的,当这些人沉浸到代码和功能中时,那就是一场灾难!在界面的开发过程中,我们必须拿出大量时间来思考关于美学的东西,尽管这会中断你的工作,对于敲代码的程序员来说这很困难的,因为一旦开始了Programming,直到遇到难题为止,高效的节奏总是让人难以停下来。但适当的时候我们还是应该停下来,到了一定阶段,只有思考才可以让自己继续提高。

忘了从什么时候开始,在写界面的代码之前我总是喜欢先设计一下。当然我并不是那么专业的美工,我只是拿个画图工具把界面勾画一下,这里用什么控件,那里用什么控件,颜色该如何搭配……我们应该通过这个步骤,尽量把自己的美学融入设计之中,这样才能减少开发过程中的困惑和中断。

经历了那么多次失败的打击后,我明白了一个道理:在界面开发这个过程中,美工的工作跟程序员相比要重要的多。一个控件在代码层面上(不包括后台数据)的处理工作主要包括几个状态:Normal,MouseHover,Press。归根结底就是对基本事件的响应,说起来是十分明了的事情。而响应的效果,就需要美工来设计了。这一点在游戏的开发过程中体现到了极致:一款游戏在界面方面(包括游戏菜单和游戏画面)的成败,理所当然依赖于美工多过程序员。

其实界面的工作就是忽悠用户,因为用户要看的是效果,而不会去关心实现的细节。而大多数看上去很复杂的效果,其实可以用一些很简单的基本控件堆砌而成,反倒是一些看上去很简单的功能,在实现上却要耗费程序员很大心力,而用户是永远不会理解这些的。

在这个阶段我体会到的是:所有的东西都是窗口!更加高深的境界我体会不到,但提过的那几点认识是我认为界面开发人员一定要经历和体会的。当然不同的人会有不同的想法,但没有类似这种认知和方法论的原则,将会很难深入。比如,在深切体会到“一切都是窗口”这一点后你想到了什么?以前说过大多数人,尤其是初学者在一个界面的工程中很少会有自己的控件。对于我,以前的工作只能是在控件库的类继承图上往下走,即只能从最底层的子类往下继承,结果往往是为了一个功能而不得不加入其他一大堆垃圾,而现在呢?感觉我看到了这棵类继承图上的电梯,我可以在这棵树上任意往来,现在我更多的是回到起点,从最上面的基类出发,构建一个完全是我自己的控件,能够完成需要的功能,并且不会加入多余的东西,我喜欢这种畅快淋漓和掌握一切的感觉。

原创文章,转载请注明:转载自ian的个人博客[http://www.icodelogic.com]
本文链接地址: http://www.icodelogic.com/?p=202

tags:

没有评论

发表评论

你需要先 登录 才能回复