【IT168 分析评论】
微软在TechEd 2005时就已经发表.NET Framework 3.0,整体架构堆栈是在原有的.NET Framework 2.0上,附加4种新技术:革新使用者体验的Windows Presentation Foundation(WPF)、高安全性通讯的Windows Communication Foundation(WCF)、塑造商业流程范围的Windows Workflow Foundation(WF)以及Windows CardSpace等。今年TechEd 2006上,微软接连2场议程探讨WPF展示层技术(其它技术仅有单场议程)。
以往程序设计师并不重视展示层技术,况且,Adobe比微软更早提出所谓的使用者体验。有趣的是,第一场次的讲师曹祖圣于「Windows Presentation Foundation建立新一代的Windows与Web应用程序」的议程中,提出外号「Flash Killer」的接口设计工具:EID(Expression Interactive Designer)。第二场次的讲师彭靖灏,虽然是从「以Windows Presentation Foundation建立丰富的使用者操作经验」为标题,却在后半段议程中提到「使用者经验模型」,彰显出使用者经验将决定应用程序操作接口,取代程序逻辑导向的时代,更强化WPF的诉求。
整体而言,WPF并非如字面上意义所陈述,仅在于可视化展现而已,微软藉由2场议程,强化WPF技术所要揭露的精神:融合Windows-based与Web-based应用程序设计,并将系结数据显示于应用程序的可视化组件中 。
Windows Presentation Foundation用途在于提供多样化媒体、使用者接口与文件等解决方案,后续文章将撷取相关议题成为报导主轴。
WPF精神:宣告式程序设计
就使用者接口而言,WPF既然是为了使设计师可以采用相同逻辑设计Windows-based与Web-based应用程序,但以往程序常区分为操作接口(或称为Markup)以及逻辑(Code),并分属画面设计人员与程序设计师两种不同角色负责处理。此外,设计师还必须为程序接口撰写大量的程序代码,藉以控制窗口上的对象。WPF不仅为画面简洁易懂,更延用一贯的宣告式程序设计,让设计师只要设定参数即可完成对象控制。曹祖圣风趣地说到:「我怀疑程序设计师是否还有存在的必要?」。
从微软为WPF所提的架构堆栈上可知,WPF底层以Windows Vista操作系统为主,接下来是Windows Vista Display Driver Model,并采用DirectX绘图引擎,特别是Composite Engine,负责2D与3D绘图处理,包括材质、光源等,除了达到宣告式程序设计的目标外,其余3个目标在于整合操作系统、采用向量式的使用者接口(UI)组合引擎、统一使用者接口、文件与媒体的程序设计方式、部署更简单等。
外号「Flash Killer」的接口设计工具:EID
另一个与使用者接口设计相关则是WPF技术中,用于实作接口设计工具:EID。虽然议程中曹祖圣简短地展示此工具,在简报文件中,表明EID可以产生XAML程序代码,同时也是Visual Studio 2005原生支持的使用者接口格式,使得接口设计师可与程序设计师沟通,但他语出惊人地说到,此工具外号「Flash Killer」。
此工具是否真如其名,尚未有定论,但在现场展示过程中,我们可发现此工具与早期的Flash开发工具极相似,连时间轴(Timeline)的位置也相同,当图形依时间轴产生动态效果时,简直与Flash如出一辙。
2D绘图利器:笔刷功能
虽然WPF在多样化媒体处理上,无论是2D或3D绘图,以及影片处理等,仍急起直追着Flash技术,但至少在2D绘图上已经为设计师提供许多更便利的新功能,例如Visual Brush等笔刷(Brush)。
简单地说,设计师可以将屏幕上某个画面当成笔刷,刷到另一个平面,或当成材质贴到另一个3D平面上。对纯粹绘图工具而言,笔刷是很基本的功能,但在窗口设计上,能不必经由复杂的程序设计产生这样的特效,实属2D绘图上的利器。议程中,讲师打趣地说着,这并非他的专长,「通常外包给画面设计人员,还是写程序比较好赚。」学员或许可以听出WPF在2D绘图上将更为便利。