关闭

逻辑思维和形象思维能力的并行

904人阅读 评论(0) 收藏 举报

孙卫琴在她的《精通Struts:基于MVC的Java Web设计与开发》提到HTML代码和JAVA程序强耦合在一起:JSP文件的编写者必须既是网页设计者,又是JAVA开发者。但实际情况是,多数WEB开发人员要么只精通网页设计,能够设计出漂亮的网页外观,但是编写的JAVA代码很糟糕;要么仅熟悉JAVA编程,能够编写健壮的JAVA代码,但是设计的网页外观很难看。皆备两种才能的开发人员很少见。

这些年以来我一直追求的就是既能做出漂亮的网页外观又能写出健壮的JAVA代码。然而,事实上我认为最难的就是两种思维模式的转换,即逻辑思维能力和形象思维能力的转换。这些天来,我一直将自己的逻辑思维能力提高到极至以助于去理解诸如“持久层”、“对象关系映射”、“解藕”等等十分抽象的概念,但在上POP广告设计课的时候,我在看那些店内招牌、广告招贴等形象意念的幻灯片时却觉得越来越难以在思路上去展开,我说如果再难一些我可能就听不懂了,老师听了我这句话懵了!就在我最有兴趣去研究技术的时候,我遇到的最困难的一件事就是去创作一个“超写实”概念的作品,如果是要求去创作“抽象派”我可能不会感觉很困难,但那种即耗费时间又极度需要耐心和兴趣的细致工作我却十分静不下心来去做。当然,最终的结果是我的那副“超写实”草草的在交付的最后几个小时内全部用油画颜料平涂上了(我忘了应该提前几天做出来后再刷上光油的制作工艺),而选择使用油画颜料也只是因为我对丙烯颜料的属性不熟悉,至少油和料的比例以及各种色彩具体使用什么原色用多少去配我还都还有些把握。绘画为了表现小范围的色彩变化,甚至需要5、6种以上的颜料调配花很长时间去调到理想的色彩才去应用。而用计算机去做色彩工作就稍微好一些,至少不用去挤颜料和收拾“残局”。

所以,做设计是一种非常辛苦的职业,因为既要展开思路去构思一些赋予表现的形象,又要有敏锐的思绪去调整色彩间的搭配,这样的工时甚至比程序员完成一个模块的编写时间还长。正如十几天前我接到的一个机票网站的设计任务一样,我在没有太多资料和客户传递的正确引导信息的思路下去设计。当然设计出来的作品首先要达到自我满意——我以前工作过的公司我的部门经理就对我说过这样的话,而他本人正是从做美工到写程序,最终到做管理,具备双向能力。因此我相信一个人的能力和态度是决定他人生价值的一种体现。逻辑思维和形象思维两种能力在WEB开发这种工作性质下是最能得到发挥的。

认真的去创作一个商业设计,结果可能千差万别。我的那个机票网站从我早上进入工作区起直到下班之前我都没有离开过座位半步,甚至没有喝一口水中午我根本就没有吃饭,直到下午5点多,我在试过若干种配色效果之后终于做出了自己理想的方案,但不久之后的开发过程中这个方案就让客户改得体无完肤,但作为为客户着想和为自己作品负责,设计师还必须两者兼顾而且必须有能力想出解决两者兼顾的办法。甚至让客户觉得你对方案采取变化后仍然能完善你的作品而对你的能力感到满意。

从事WEB设计的美术工作者要比从事其他行业形象设计的设计师要了解更多的信息和掌握更多的知识,除了自身应该多在专业领域去接受国外一些先进的设计理念以外,还应该多了解一些技术方面的信息。就如初学网页设计的工作者或是刚从平面广告设计行业转行到做网页设计的设计师从最开始的不习惯在代码视图下浏览源码到必须要掌握HTML一样,掌握了HTML,CSS或是有能力修改和编写Javascript,JSP,JAVA,SERVLET,XML后就会发觉改代码的工作其实比做图形更容易。有时候,我的同行用一张图片实现的效果,我可以用几段代码实现完全相同的效果。

我在华为无网络的封闭状态中渡过了很长的时间,而仅仅刚上网两个多小时,我立刻发觉很多门户网站的源码都改成了使用CSS控制而非HTML中的table标签,我本人非常喜欢对表现较特殊的页面注意去留意它的源码是否在客户端就能够实现,遇到好的CSS或Javascript代码就连同页面一起收藏起来。我立刻将这个变化告诉我的一个工作范围涉及一部分网页制作的同学去注意技术趋势的变化,提示她去了解一些CSS的运用。的确,CSS是个非常好的东西。以前我们很崇拜JavaScript,很崇拜JavaScript写出的菜单,但有些不需要级连的菜单完全可以用代码量更少的CSS制作而非几百行代码的JavaScript。精简代码和图片容量可以提高下载速度,在这个越来越追求品质的世界里完善自己工作的品质是有必要的,我回公司后接触的华为资料那个项目我在最初做完页面构架后就去华为工作了,而回来后美工工作已经完成,我在做界面测试中发现有些图片美工就可以做得更少一些,例如一个宽1024的图片,从1-5像素以后就是重复1-5像素的排序,这样完全可以缩减到5像素宽然后使用背景图就完全可以把10K的图片压缩到不足1K,如果所有的图片或代码都追求精简那么整个系统的容量也会小一些。

我曾经在一个外资公司做过一段时间的界面工程师,老板再三强调我的工作性质就是将形象创意的任务交给美工去完成,由我来根据我的需要传递给他信息,然后我将他制作的图片进行切图做页面构架,这样我必须考虑到功能实现的问题以及一个链接事件触发后返回的视图出现在哪个frame里面,这虽是比较简单的活儿,但比起做图形还是多了些逻辑分析的思路。

练习自己的动脑子想问题非常好,生活中多注意细节有时候很能帮助我们去尽快了解信息。我在华为工作的时候最开始是给一套网管软件做图标修改,那套软件的视图做的非常好,但那时我只专注做图标而没有去仔细琢磨,我只知道那是用JAVA实现的,但究竟用的是哪个技术我却没仔细去想,我还参加过华为的一次Struts培训,我发现很多开发人员很认真的在听,我有些匪夷所思,因为我觉得他们应该掌握的很熟悉了。我给一套叫IMC的软件做完DEMO后随口问了一句那个项目的项目经理他们是否打算用Struts去做,她说他们要用JSF去做,说JSF的扩展性更强一些。因为后来我了解到JSF是JSP的框架,它综合了Struts和Swing。所以我猜想华为的开发人员大概以前都是做JSP的,而那套网管软件肯定是用Swing做的,正巧我在想一定要问问他们的时候,今天早上就遇到了我想要问的那个华为的JAVA工程师,证实了那套网管软件是用Swing做的,看来Swing是个非常棒的图形包,一定要了解和学习,而他也承认他们以前就是做JSP的,最熟悉的技术就是JSP和Servlet。

JSP是通过JSP引擎把JSP文件转换成Servlet,然后使用JAVA编译器编译生成的Servlet,再用API执行Servlet,所以JSP页面在第一次调用的时候会很慢,并且用JAVA开发会在服务器的Catalina目录下生成一定容量的Servlet占用一定的空间。而JAVA开发这么多年一直迫切需要解决的就是页面调用这个问题,JSF提供的框架是基于JSP的,而Tapestry的框架是基于Servlet的,所以它可能会对未来解决JSP页面调用这个问题提供方案。
 
Ajax是Google的产品,是除微软和SUN以外的第三方厂商,它分别为J2EE平台和.NET平台都提供了框架,Ajax是基于表现层最前端的集页面参数调用和XML封装数据并为业务层提供接口的框架。Google是做搜索引擎技术的,他们在客户端调用参数的确有些方法,百度也紧随其后,百度的产品经理曾经给我介绍过他们是如何归集客户搜索过的信息,又是如何利用JavaScript传递参数到隐藏层里实现再次调用,这似乎与现在Ajax提到的技术有几分类似。今天查了查JAVA的开源网站还真不少,还有两家中国的,窃喜!有为JSP提供Ajax框架的,也有为Struts提供框架的,还有Ajax-JSF框架,Ajax和JSF都开展了大量的推广工作,急于占领市场,Ajax还联手Macromedia Flash并提供了一些Flash ActionScript和JavaScript的调用方法,将来从事网站开发的人才大概不是美工需要掌握数据封装和传递参数就是程序员要学会FLASH,而从事软件开发的人才大概还是会把焦点放在如何展开具体业务和底层数据交换的思路上来,Spring和Hibernate仍然是目前后台处理的最加框架,这些年来,人们对软件产品的外观追求已经不再是那种晶莹剃透的效果,越专业的软件越追求“C/S模式”效果。所以,未来的软件开发中专业软件的开发大概不会带着FLASH一起玩儿!而Swing、JSP、Struts、JSF、Servlet、Javascript、CSS、Ajax、XML及各种开源框架还是应该多去了解和学习!
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:48652次
    • 积分:645
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:29篇
    • 译文:0篇
    • 评论:18条
    最新评论
    Java工具网站