注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

一江春水向西流

程序人生

 
 
 

日志

 
 
关于我

夫君子之行,静以修身,俭以养德.非澹泊无以明志, 非宁静无以致远.夫学须静也,才须学也,非学无以广才,非志无以成学,淫漫则不能励精,险躁则不能治性,年与时驰,意与日去,遂成枯落,多不接世,悲守穷庐,将复何及!

网易考拉推荐

VCL已死,RAD已死(1)zz  

2008-12-24 21:32:10|  分类: 程序人生 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
VCL已死,RAD已死




——SD2C中未能尽言的话题


今年的SD2C,我匆匆去又匆匆还,因为有急事要处理,所以第三天的课程都没来得及参加。与
此相同的是,我的那场话题,也讲得匆匆忙忙,有许多不清楚透彻的地方。其中之一便是这两
个断言:“VCL已死,RAD已死”。

所以今次开贴重讲!

一、从UI的变革到系统的复杂性
-----
UI怎么构成?在Windows及同期的Linux、Mac平台上,对UI的解构是WIMP(Windows,Icons,Menu,
Point)。这个抽象具有相当的合理性,并一度带来了GUI的繁荣。然而,界面技术本质上是掌
握在平台技术厂商的手上,例如Windows提供MFC,大家便只能在这个MFC的基础之上来构建GUI
应用。所以Delphi早期的成功,就是把MFC变成了更便捷的编程形式来替代,尽管其本质上还
是MFC框架下的UI,但就是比后者方便,从而有了RAD(快速应用开发)一说。

同样的道理,Java做了自己的平台,将虚拟平台与操作系统平台隔离开。于是,在Java之上有
了Swing或jFace等等,应用提供商也基于这样的平台来做开发,出来的界面仍然是在同一个风
格体系之下的。

我们现在来看一个软件产品,它是Delphi写的,还是VC写的,或者是Java写的,也或者是在Linux
上基于某个GUI包做的,在很多时候从界面上一眼就看得出来——因为他们其实是不同平台上对
WIMP的实现。然而,我们来看WEB,便没有这种同质化的倾向,WEB精彩纷呈,不同的网站有各
自不同的特性。没有了所谓“软件产品”的基本面貌,似乎没有人愿意承认“WEB网站”是一个
“软件产品”。

但是,仔细分析WEB UI,你会发现它的本质结构是“块+层+链接”。“块+层”是表现上的本
质,这与Photoshop等作图工具是完全一样的。所以,只要能用Photoshop画出来,就能用HTML
做出来,这二者之间基本是可以等量转换的——因为这二者本质相同。同样的,“链接”是用
户UI交互的本质,也是WWW的本质。Mac系统可以让鼠标只有一个键,本质上也是这个道理。用
户行为,只需要点击一个位置来触发,而不需要位置上的二义性。如果需要另一个含义的行为,
那就换一个位置(例如按钮),这个,是“简化UI”或“人性化UI”的本义。

所以,事实上WEB的成功,与WEB UI比传统的WIMP UI更加人性,以及更加面向设计师(例如PS
高手)有直接的关系。而另一个方面,RAD的出现,与WIMP则有密不可分的关系——WIMP抽象了
界面的“可组件化的基本要素”。

UI的变革带来了最直接的问题:使用WIMP的思想,开发不出WEB UI。最明显的例子就是Delphi
的没落。事实上,这中间也包括Virsul C/C++的没落。二者相同的在于,原本“可视化编程”
优势变成了劣势。

这是为什么?

什么叫“可视化编程”?Delphi/VC/PB/VF...这一类的开发工具中,你可以把一个组件拖到窗
体上,然后配置属性、添加行为、处理逻辑代码,然后“RUN”。一切就OK。这就是“可视化
的”、“快速的(RAD)”编程。然而注意一个事实,这个过程要求一个“程序员”的全程参
与:界面设计工具与代码开发工具在同一个环境中,不可分离。

所以,在RAD的时代,我们的UI设计师是要迁就软件开发人员的。UI设计师设计了界面,然后
开发人员说:荒唐!这样的界面用Delphi根本做不出来!然后一切就推掉重来。客户端软件
产品的开发,就是在设计与开发人员的战斗中一路走过来的,而且,通常是开发人员取得胜利。

开发人员不会做界面。真正会做界面,需要有相当高的图形程序开发功底,于是,那些有这样
功底的人开始做组件,例如很漂亮的换肤控件。这——看起来漂亮了,但是仍然不是界面设计
师理解中的UI。

从中暴露出来的表面问题就是:开发人员最好是superman。RAD开发中的程序员,最好就是精擅
各门的大家。无论是网络、数据库、图形、操作系统还是所有的一切,你最好都懂,最专长。
这样,一个模块给你,你完全搞定,大家都放心。因为RAD嘛,你搞不定,是不够快速,是工具
不够好,或者你不够super。

然而,我们的系统已经越来越复杂,已经越来越不是“一个人”能干的活儿了。
  评论这张
 
阅读(152)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017