AdobeFlex有很多值得学习的地方,本文和大家重点讨论一下AdobeFlex的概念,它是涵盖了支持RIA(RichInternetApplications)的开发和部署的一系列技术组合。
Flex
Flex通常是指AdobeFlex,是最初由Macromedia公司在2004年3月发布的,基于其专有的MacromediaFlash平台,它是涵盖了支持RIA(RichInternetApplications)的开发和部署的一系列技术组合。Flex的另一个意思是是一款生成扫描器的工具,能够识别文本中的词法模式。
AdobeFlex简介
MacromediaFlash是强大的矢量动画编辑工具,在做动画起家之后,Flash一直在谋求RIA(richinternetapplication)富客户端的霸主地位,最有影响的是,已经推出了面向对象的编程脚本ActionScript3.0,并且建立起类似于javaswing的类库和相应component(组件)。Flex是通过java或者.net等非Flash途径,解释.mxml文件组织components,并生成相应的.swf文件。Flex的component和flash的component很相似,但是有所改进增强。目前Macromedia公司已经被ADOBE公司收购。当前(2008年10月)的Flex版本为3.0。(现在已经4.0了(2010年))
运用Flash是完全可以做到Flex的效果的,为什么还需要Flex呢?这里面有两个原因:
1:为了迎合更多的developers(开发者)。Flash天生是为了designer(设计者)设计的,界面还有flash的动画概念和程序开发人员格格不入,为了吸引更多的jsp/asp/php等程序员,Macromedia推出了Flex,用非常简单的.mxml来描述界面给jsp/asp/php程序人员使用.(x/d)html非常相似,而且mxml更加规范化、标准化。
2:为了一个标准。大家一定听说过微软最新一代操作系统longhorn(即vista,后续的win7也是同一核心),在longhorn推出的同时微软也推出了新的语言xaml,一种界面描述语言,与之相应的就是smartclient和Flex非常相似的东西(即SilverLight)。Mxml和Xaml的也很相似……这是人机交互技术的进步的重要体现,即内部逻辑与外部界面交互相分离。
AdobeFlex和j2ee/.net其实没什么关系,Macromedia用java做出来个应用把flash的技术融合到J2EE里面,再用.net的技术做出来个.net应用把flash技术融合到.net里面去;应该说Flex解决了J2EE里面和.net里面最繁琐的问题那就是web客户端的问题。
成因
传统的程序员在开发动画应用方面存在困难,Flex平台最初就是因此而产生。Flex试图通过提供一个程序员们已经熟知的工作流和编程模型来改善这个问题。
RIA相互之间关系Flex最初是作为一个J2EE(Java2Platform,EnterpriseEdition)应用,或者可以说是JSP(JavaServerPages)标签库而发布的。它可以把运行中的MXML(Flex标记语言)和ActionScript编译成FLASH应用程序(即二进制的SWF文件)。最新版的Flex支持创建静态文件,该文件使用解释编译方式并且不需要购买服务器许可证就可以在线部署。
AdobeFlex的目标是让程序员更快更简单地开发RIA应用。在多层式开发模型中,Flex应用属于表现层。
Flex采用GUI界面开发,使用基于XML的MXML语言。Flex具有多种组件,可实现WebServices,远程对象,draganddrop,列排序,图表等功能;Flex内建动画效果和其它简单互动界面等。相对于基于HTML的应用(如PHP、ASP、JSP、ColdFusion及CFMX等)在每个请求时都需要执行服务器端的模板,由于客户端只需要载入一次,Flex应用程序的工作流被大大改善。Flex的语言和文件结构也试图把应用程序的逻辑从设计中分离出来。
Flex服务器也是客户端和XMLWebServices及远程对象(ColdfusionCFCs,或Java类,等支持ActionMessageFormat的其他对象)之间通讯的通路。
一般被认为可能是Flex替代品的是OpenLaszlo和AJAX技术。
【编辑推荐】