2007/12/07 | RIA两大阵营大比拼-Adobe vs. Microsoft
类别(RIA) | 评论(0) | 阅读(72) | 发表于 17:50

Adobe涵盖设计到开发
在Adobe提供的RIA技术中,包括了三个核心名词,Flash、Flex与ActionScript。Flash是网络多媒体的技术名称,Adobe提供了两种工具来开发Flash应用,包括用来制作网络动画为主的Flash CS3,以及开发RIA应用的Flex 2。

Flash CS3与Flex 2的共同点是,都采用相同的ActionScript 作为开发语言。透过ActionScript可以控制所有Flash CS3或Flex 2的组件,进行互动事件的安排。ActionScript目前发展到 3.0版,遵循与JavaScript相同的语言标准ECMAScript,使得ActionScript 3是类似Java Script的高级语言,学习门坎相近,开发人力也容易转换。

Flex采开源政策吸引社群开发力
但Flash CS3与Flex 2两套工具背后的设计概念有很大的不同。Flash主要以动作场景与时间轴的设计概念,来安排组件的互动关系,与视觉设计工具整合性较高。而Flex 2包括免费的Flex 2 SDK,以及付费的IDE工具Flex 2 Builder。Flex 2 Builder是基于Eclipse平台的IDE开发工具,可以进行Flash RIA应用的程序代码撰写、除错与开发项目的管理。熟悉Eclipse工具如Java等开发人员,可以很容易上手Flex Builder的操作。Adobe规画将下一版Flex 3 SDK的程序代码开源,吸引社群人力来协助应用组件的开发。

Flex 2除可使用Adobe的Flex Data Services(FDS)产品链接后端数据库外,也能透过HTTP或Web Services,来存取后端数据库,因此不受限于任何开发语言,例如可以透过.NET来链接微软SQL Server的数据库。

强化设计端与开发端工具的整合
强化开发工具之余,Adobe也不忘设计端的改良。在今年推出的CS3系列,Adobe整合既有视觉设计工具与网页设计工具。在Photoshop与Illustrator绘制的影像,可以保留原来图层或对象结构,直接汇入Flash CS3中制作互动接口,开发人员无须逐一切割影像来制作互动组件,设计人员可以更容易与开发人员合作。Adobe将前端设计师所需工具,涵盖视觉设计到接口设计都整合在内,有利于RIA流程的整合。Flex 2虽无法直接与Photoshop整合,但可以存取Flash CS3的档案,或者在Flash CS3中安装Flex 2 SDK组件,来开发RIA应用的呈现与互动界面。文⊙王宏仁

微软诉求强化操作体验
微软推出的RIA(Rich Interactive Application)解决方案包括Silverlight 1.0与WPF(Windows Presentation Framework),而是希望提供使用者更好的操作体验。

Silverlight1.0支持IE、FireFox及Safari等多种浏览器与Windows及Mac等操作系统,透过社群的力量也推出Moonlight支持Linux平台;而WPF则是专注在Windows平台的表示层技术,相较于Silverlight,它提供互动性更为优越的3D操作体验。

开发Silverlight 1.0的门坎比WPF高
虽说Silverlight 1.0是WPF的子集,不过,开发Silverlight的门坎比WPF还要高。

主要原因在于Silverlight 1.0没有开发工具支持,目前唯一的可视化设计工具是Blend 2(最新9月份预览版),但内建的控件很少,企业级应用常见的DataGrid、List等全数缺席,而且没有可扩充的控件架构,也就是说,开发者想自制都不得其门而入。

其次,Silverlight 1.0虽然支持Unicode,但为压缩执行环境的档案大小,因此未包含中文字型文件,致使Silverlight 1.0无法显示中文内容。台湾微软为此提出3种解决方案,其中将文字转换成图文件的方案较为可行,而在运行时间嵌入完整或部分字型文件,可能衍生版权问题。

Silverlight坚持跨平台,WPF则固守Windows
目前Silverlight 1.1已释出Alpha Refresh版,正式版预估2008下半年问世,届时执行环境将扩展到约3.5MB,增加.NET精简版的CLR(Common Language Runtime),以支援C#、VB.NET等语言,并加入更多的控件,且提供可扩充的控件架构,相对于1.0版,成熟度将提高很多。

设计工具Expression Blend 2预估在Visual Studio 2008上市之后,也将推出下一代更迎合设计师思维的版本。

根据微软现阶段的规画,Silverlight会持续经营跨平台的路线。而WPF的应用客户端需要搭配.NET Framework,因此硬设备需要足够的空间与效能,Windows Vista操作系统会比较适合。

至于微软另一个Web开发技术──ASP.NET,台湾微软开发工具暨平台推广处产品营销经理胡德民表示:「ASP.NET会逐渐淡出前端用户接口的功能,而着重在服务器端的逻辑开发,也就是Web Services。」

两大技术阵营超级比一比

从工具来看,FlashSilverlight互有擅长,但对企业而言,工具的优劣不是唯一的选择依据。毕竟建置RIA应用,不只是采购一套系统或购买一套软件而已,而是企业选择未来前端系统的呈现技术,对信息部门的影响是深远的。

整体成熟度:Flash遥遥领先
以整体RIA技术解决方案来看,成熟度以推出多年的Adobe整体解决方案较高,国外企业应用实例也较多。由于Flash Player在浏览器的全球普及率超过九成,企业不用担心使用者浏览器的支持,部署门坎较低。由于视觉设计人员对Photoshop熟悉度高,即使用微软技术,大多数仍使用Photoshop做视觉设计。

整体工作流程上,从PhotoshopFlex间的整合性,还是较微软ExpressionVisual Studio来得高。

此外,Adobe有不少第三方与开源社群提供UI互动组件,而Expression目前仍以微软内建为主,互动组件多需自己从头做起。

但与后端数据库整合,以及商业逻辑的程序开发成熟度来看,Expression的确与Visual Studio整合度高,对既有系统已采用微软解决方案者,容易上手。而Flex虽可透过不同开发语言,与后端数据库链接,甚至可透过.NET与微软SQL Server连结,但台湾熟悉Flex后端开发的人力资源不足,反而形成入门障碍。

开发人力:Flash学习门坎低,但Silverlight资深开发者较多
近几年因为Flash盛行缘故,台湾擅长Flash开发语言ActionScript的网页设计人员越来越多,这些网页设计人力可直接转为Flex开发人力,不会有语言使用上的困难。也因为ActionScript采用ECMAScript的语言标准,与JavaScipt相同,学习门坎不高,熟悉Ajax技术的人,也能够很快上手。

但台湾亦有相当大量的微软产品开发人力,熟悉商业应用开发经验的人力相当充沛,企业较容易找到有经验的微软开发人力。待Silverlight 1.1版支持C#后,既有微软的资深开发人力就能直接转为RIA应用开发人力,后势可期。

跨平台:Flash胜出,从开发到执行全部都跨平台
Flash Player
已经可以在多种操作系统,如WindowsMacLinuxSolaris上执行,而且也能在不同浏览器如IEFirefoxOpera中执行。Adobe从设计端到开发端,整套开发工具也有提供不同操作系统的版本,例如有Linux版本的Flex BuilderAdobe也已提供支持行动装置的Flash Lite版本。在CS3中,也提供专属的行动装置测试工具,提供开发人员模拟测试在不同手机上的执行效果。

微软的Silverlight目前支持WindowsMac操作系统,以及IEFirefox两种浏览器,并由Novell协助开发SilverlightLinux版本,微软承诺未来将会支持到各作业平台与行动装置。开发工具ExpressionVisual Studio目前仅有Windows版本。

桌面应用技术:微软完善,Adobe小而美
微软WPF技术涵盖了Silverlight技术,用来满足所有Window系统上的桌面应用所需,因此,在.NET Framework上提供相当丰富的组件与函式库。因此若已安装WPF例如Vista操作系统,直接就可执行SilverlightXAML檔。原先以Silverlight开发的网页应用程序,也能很容易地转为WPF的桌面应用程序。Silverlight相当于是一个轻量级的网页前端技术,整个基底还是WPF

Adobe
则是希望将网页应用优势,延伸到桌面应用。但Adobe采取小而美的策略,提供轻薄短小容易部署的AIR技术,提供接口技术为主,但强调可以很容易将HTMLJavaScriptFlashPDF等直接转换成桌面应用程序,让具有网页开发经验的开发人员,很快做出桌面应用。

学习资源:两者均不足,多仰赖英文资源
目前坊间教育训练机构如资策会或恒逸信息已有长期固定的Flex训练课程,而Silverlight训练课程则仍属不定期开班,或采研讨会方式集中训练。

实体出版品也以探讨Flash开发语言ActionScript的中文参考书籍居多,但多围绕在Flash设计为主,仅少数ActionScript中文书顺便谈及Flex使用。以Flex开发工具为主的中文专书,目前仅《Flex 2 程序设计 Programming Flex 2)》一本翻译书而已。台湾微软则由专人负责与出版社合作,推动Silverlight语言与Expression工具相关中文书籍的出版,目前已有4Silverlight中文书。

不论FlashSilverlight 开发人员而言,这些学习资源仍旧不足,尤其是缺乏开发与设计之间如何合作的参考信息,或者针对企业应用的实作案例。开发人员仍需自行至国外相关网站,搜集英文学习资源。微软与Adobe网站均有提供参考范例的原始码与相关学习资源,但Adobe提供的进阶引导和完整实作范例较丰富,例如Adobe有提供完整的在线购物网站应用Flex Store原始码,经常被改成其他应用。Flash技术也具有较多的技术社群可供企业寻求支持。

技术支持:微软积极集中,Adobe分散
对企业的产品支持策略,台湾Adobe与台湾微软明显采取不同的策略。Adobe投入台湾的资源,分配到所有产品线同时又会因销售状况而调整,Flex相较设计工具,所获得的支持资源也因而较少。

对微软而言,Silverlight技术则是当前的重点技术,为提高企业采用率,相当积极地采取直接协助企业导入的策略。台湾微软也提供免费的Silverlight培训或研讨会,协助企业培养导入的开发人力,同时也提供RIA开发过程的技术支持与顾问服务。

不论微软或Adobe都承诺将长期投入RIA技术,两大阵营的角力,加速技术进展的脚步,对企业长期来说都是有利的。总而言之,一两年内需要用RIA技术来解决企业当前问题,或企业打算重新选择开发技术时,采用Flash技术,能马上取得完整且长期可行的解决方案与配套工具。

过去采用微软开发方案的企业,若采用Silverlight技术,后续整合的难度较低,也能善用既有开发人力,节省多一套技术的维护成本。但目前Silverlight还无法让企业现有开发人力充分发挥,恐需等到Silverlight 1.1版支持C#后,与Visual Studio整合性提高后,才能发挥。现阶段,企业的小型开发项目,若能先投入RIA技术,可视为练兵阶段,善用微软积极推动所提供的丰富支持,累积内部开发团队的RIA开发能力,倒是一种不错的选择

1

评论Comments

日志分类
首页[8]
我的日志[3]
ASP[0]
NET[1]
数据库开发[1]
设计收藏[0]
DIV+CSS[0]
RIA[3]