flex的功能和应用

利用Flash建构高互动性网站:
相较于Workplace的Rich Client是企业内部协同合作的应用,IBM与Macromedia合作推出的Flex展示服务器,则是针对电子商务推出的解决方案,希望藉由RIA(Rich Internet Application)的接口,颠覆目前的网站操作经验,协助企业建置互动性更强的网站。 透过Flash提供的客户端经验,Macromedia称之为「Halo」,是Rich Internet Application的一种跨平台经验模式,Flex就是藉由Halo模式,结合桌面应用程序的反应力与丰富性,及网页应用程序的散播力,以协助企业目前网页应用程序缺乏客户端智能的情况。
Flash Player是散播应用的通路:
根据NPD Group的统计,Flash Player的安装率高达98%,所以若采用Rich Client的架构,客户端额外安装的负担减少很多。此外,Flash Player档案并不大,全新下载Flash Player的话,档案大小约400k;如果仅是功能更新,Flash引擎会自动侦测下载需要更新的部分,使用者不见得会察觉系统更新行为。Macromedia把Flash Player定位为一个「通路」,目前支持的平台包括计算机及PDA,未来将延伸应用到手机及数字电视。由于Flash使用向量技术,不论下载至任何平台,Flash档不用重写,只需调整需要呈现的内容即可,所以不但可减轻开发人员的负担,也可保证用户拥有一致的使用经验。
相较于网页资料无法保存状态,Flex应用程序在Flash Player虚拟机器上执行,可呈现实时的信息,及处理字段验证、资料格式化、排序、过滤、提示、整合影像、行为及效果等客户端工作,无需换页或返回上一页。如果以Flash呈现网站内容,由于Flex展示服务器会编译MXML档案,成SWF格式的Flash档,因此客户端无法检视原始程序代码,安全控管机制不易被破解,因此可避免传统网页可能的安全性问题。
Flash 6.0以后的版本,已支持数据链路的功能,Flex提供Flash Remoting、Web Services、Java Object、Http Query及XML等,四种执行期服务(Runtime Services)串连后端服务器,整合企业资源。此外,Flash整合视讯功能,可以对象形式加入影音内容。
Flex解决方案架构:
在多层式(N-Tier)应用程序架构中,Flex展示服务器位于接口层,用以改善目前HTML网页夹带客户端程序代码的问题。企业既有的架构导入Flex,不需要更动商业逻辑层,只是加入一个展示服务器,强化接口层。Flex展示服务器以WAR档部署在现有的Java应用服务器,并在应用服务器中执行。目前Flex支持IBM WebSphere、BEA WebLogic、Macromedia JRun及Apache Tomcat,预计年底推出.NET的版本。
Flex应用程序由MXML及ActionScript组成,MXML用以宣告定义应用程序中使用者接口的元素;而ActionScript 2.0则处理客户端逻辑与控制程序。程序背后的Flex类别链接库,包含Flex组件、资料系结、行为与其它功能,开发者运用类别链接库建立使用者接口及程序行为。
Flex展示服务器不是发布赤裸裸的MXML文件及ActionScript程序,而是由Flex应用程序编译成SWF格式的Flash檔,下载至客户端以Flash Player执行。利用执行期服务,Flex应用程序也可与应用服务器及数据库沟通交换资料,以对客户端使用者的动作产生响应。
ActionScript 2.0瞄准C#及Java开发者:
过去Macromedia提供Flash MX作为开发工具,却遭遇一大瓶颈,因为虽然业界有很多Flash的设计人员,却不见得有足够的Flash开发人员。由于ActionScript开发应用程序相当复杂,Flash独有的时间轴、舞台及动画等的概念,与一般程序开发的逻辑大不相同,导致学习的门槛让开发人员感到挫折。
因此Macromedia针对新推出的Flex做了大幅的修正,以MXML设计使用者接口,而ActionScript 2.0则撰写商业逻辑及组件的行为。为降低开发的门槛,Macromedia遵循ECMAScript 4标准,改写了ActionScript推出ActionScript 2.0,是对象导向的程序语言,瞄准C#及Java的开发人员,采用传统的程序化开发方法,语法与Java相同,只是引用的对象及方法不同,所以熟悉Java的开发人员将很容易上手。
由于Flex是IBM与Macromedia合作的产品,因此未来Java开放原始码开发工具Eclipse,会推出Flex的外挂程序,至于其它的开发工具,Macromedia会释出Flex的链接库,只要加入Feature Plug-in,即可支持Flex。
设计客户端接口的MXML:
跟HTML一样,MXML是描述使用者接口内容及功能的标记语言,然而不同的是,MXML分隔接口与商业逻辑的关联性,客户端逻辑由ActionScript 2.0处理。Flex展示服务器会编译两者成为SWF格式的Flash文件,如果要修改接口内容,只需调整MXML档,无需更动ActionScript 2.0程序,可提高应用程序的重复使用性,强化生产力。
MXML是以XML为基础的标记语言,目前除了Macromedia Flash MX外,记事本及UltraEdit等文字编辑器均可撰写MXML,不过如同手工撰写HTML是不够直觉的经验,Macromedia预计今年暑假推出代号「Brady」的设计工具,是MXML的可视化设计工具,以类似Dreamwaver的接口,提升设计MXML的便利性。
Flash Player的版本影响Flash的效能:
根据浏览网站的经验分析,虽然参杂Flash的效果令人目眩神迷,却也需要一段等待下载Flash档的时间。尤其是首页的Flash档,如果只是增加效果的动画,使用者可能宁愿选择跳过。零壹科技技术顾问陈子龙表示:「这与Flash的最佳化经验有关,有很多方式可以避免过长的等待时间。如果以Flex展示服务器架构电子商务网站,Flash与HTML执行效能比较,的确是企业衡量的条件之一,陈子龙表示:「效能是重要的议题之一,不过对电子商务而言,快速的开发方式及更好的使用者体验更为重要。」Flash的做法是先把需要的资料下载到客户端,及时在客户端运算,所以第一次会稍微慢些。不过后续的效能跟及时性,与HTML必须不断更新网页的使用经验相较,是较优质的体验。此外,效能也与Flash Player的版本有关,较新版的Flash Player,提供较好的效能品质。
适合Flex的应用类型:
并不是所有应用程序都适合采用Flex导入RIA解决方案,零壹科技指出需要多个步骤才能完成的流程例如订房系统,利用Flash整合所有步骤在单一窗口,可避免逐步设定不断换页的麻烦。以现今的购物网站为例,使用者在选择产品类型之后,还需选择品牌、比对功能及价位,来回点选寻找适合的产品花费很多时间。结合Flex以Flash展现,使用者可在单一画面设定产品的条件,后端服务器即自动筛选出适合的产品,使用者再拖放需要的产品至购物车,这些程序都不需要换页,将带给使用者全新的网络购物经验。此外,诸如需要许多手动操作的系统,及必须呈现可视化内容的网站,也都是Flex适合的范围。
posted @ 2009-10-04 11:19  #天下无双#  阅读(915)  评论(0编辑  收藏  举报