【IT168 评论】从工具来看,Flash与Silverlight互有擅长,但对企业而言,工具的优劣不是唯一的选择依据。毕竟建置RIA应用,不只是采购一套系统或购买一套软体而已,而是企业选择未来前端系统的呈现技术,对资讯部门的影响是深远的。
Adobe涵盖设计到开发
在Adobe提供的RIA技术中,包括了三个核心名词,Flash、Flex与ActionScript。Flash是网路多媒体的技术名称,Adobe提供了两种工具来开发Flash应用,包括用来制作网路动画为主的FlashCS3,以及开发RIA应用的Flex2。
FlashCS3与Flex2的共同点是,都采用相同的ActionScript作为开发语言。透过ActionScript可以控制所有FlashCS3或Flex2的元件,进行互动事件的安排。ActionScript目前发展到3.0版,遵循与JavaScript相同的语言标准ECMAScript,使得ActionScript3是类似JavaScript的高阶语言,学习门槛相近,开发人力也容易转换。
Flex采开源政策吸引社群开发力
但FlashCS3与Flex2两套工具背后的设计概念有很大的不同。Flash主要以动作场景与时间轴的设计概念,来安排元件的互动关系,与视觉设计工具整合性较高。而Flex2包括免费的Flex2SDK,以及付费的IDE工具Flex2Builder。Flex2Builder是基于Eclipse平台的IDE开发工具,可以进行FlashRIA应用的程式码撰写、除错与开发专案的管理。熟悉Eclipse工具如Java等开发人员,可以很容易上手FlexBuilder的操作。Adobe规画将下一版Flex3SDK的程式码开源,吸引社群人力来协助应用元件的开发。
Flex2除可使用Adobe的FlexDataServices(FDS)产品连结后端资料库外,也能透过HTTP或WebServices,来存取后端资料库,因此不受限于任何开发语言,例如可以透过.NET来连结微软SQLServer的资料库。
强化设计端与开发端工具的整合
强化开发工具之余,Adobe也不忘设计端的改良。在今年推出的CS3系列,Adobe整合既有视觉设计工具与网页设计工具。在Photoshop与Illustrator绘制的影像,可以保留原来图层或物件结构,直接汇入FlashCS3中制作互动介面,开发人员无须逐一切割影像来制作互动元件,设计人员可以更容易与开发人员合作。Adobe将前端设计师所需工具,涵盖视觉设计到介面设计都整合在内,有利于RIA流程的整合。Flex2虽无法直接与Photoshop整合,但可以存取FlashCS3的档案,或者在FlashCS3中安装Flex2SDK元件,来开发RIA应用的呈现与互动介面。
微软诉求强化操作体验
微软推出的RIA(RichInteractiveApplication)解决方案包括Silverlight1.0与WPF(WindowsPresentationFramework),而是希望提供使用者更好的操作体验。
Silverlight1.0支援IE、FireFox及Safari等多种浏览器与Windows及Mac等作业系统,透过社群的力量也推出Moonlight支援Linux平台;而WPF则是专注在Windows平台的展示层技术,相较于Silverlight,它提供互动性更为优越的3D操作体验。
开发Silverlight1.0的门槛比WPF高
虽说Silverlight1.0是WPF的子集,不过,开发Silverlight的门槛比WPF还要高。
主要原因在于Silverlight1.0没有开发工具支援,目前唯一的视觉化设计工具是Blend2(最新9月份预览版),但内建的控制项很少,企业级应用常见的DataGrid、List等全数缺席,而且没有可扩充的控制项架构,也就是说,开发者想自制都不得其门而入。
其次,Silverlight1.0虽然支援Unicode,但为压缩执行环境的档案大小,因此未包含中文字型档,致使Silverlight1.0无法显示中文内容。台湾微软为此提出3种解决方案,其中将文字转换成图档的方案较为可行,而在执行阶段嵌入完整或部分字型档,可能衍生版权问题。
Silverlight坚持跨平台,WPF则固守Windows
目前Silverlight1.1已释出AlphaRefresh版,正式版预估2008下半年问世,届时执行环境将扩展到约3.5MB,增加.NET精简版的CLR(CommonLanguageRuntime),以支援C#、VB.NET等语言,并加入更多的控制项,且提供可扩充的控制项架构,相对于1.0版,成熟度将提高很多。
设计工具ExpressionBlend2预估在VisualStudio2008上市之后,也将推出下一代更迎合设计师思维的版本。
根据微软现阶段的规画,Silverlight会持续经营跨平台的路线。而WPF的应用用户端需要搭配.NETFramework,因此硬体设备需要足够的空间与效能,WindowsVista作业系统会比较适合。
至于微软另一个Web开发技术──ASP.NET,台湾微软开发工具暨平台推广处产品行销经理胡德民表示:‘ASP.NET会逐渐淡出前端使用者介面的功能,而着重在伺服器端的逻辑开发,也就是WebServices。’