Flex 入门介绍

一、Flex 介绍

Flex 是一个高效、免费的开源框架,可用于构建具有表现力的 Web应用程序,这些应用程序利用Adobe Flash Player和Adobe AIR, 可以实现跨浏览器、桌面和操作系统。虽然只能使用 Flex 框架构建 Flex应用程序,但Adobe Flash Builder™(之前称为 Adobe Flex Builder™)软件可以通过智能编码、交互式遍历调试以及可视设计用户界面布局等功能加快开发。

使用 Flex 创建的 RIA 可运行于装有 Adobe Flash Player 插件的浏览器中,或运行于跨操作系统的 Adobe AIR上,它们可以跨所有主流浏览器、操作系统实现一致的运行。通过利用 AdobeAIR,Flex应用程序可以访问本地数据和系统资源。

Flex是通过java或者.net等非Flash途径,解释.mxml文件,并生成相应的.swf文件。Flex的component和flash的component很相似,但是有所改进增强。目前Macromedia公司已经被ADOBE公司收购。Adobe2013年01月15日将Flex捐给Apache并发布了Apache Flex4.8。

二、Flex使用原因

运用Flash是完全可以做到flex的效果的,为什么还需要flex呢?主要有两个原因:

1:为了迎合更多的developers(开发者)。Flash天生是为了designer(设计者)设计的,界面还有flash的动画概念和程序开发人员格格不入,为了吸引更多的jsp/asp/php等程序员,Macromedia推出了Flex,提供了非常简单的mxml界面描述语言给jsp/asp/php程序人员使用,而且mxml更加规范化、标准化。

2:为了一个标准。大家一定听说过微软的操作系统vista(后续的win7也是同一核心),在vista推出的同时微软也推出了新的语言xaml,一种界面描述语言,与之相应的就是smart client和flex非常相似的东西(即SilverLight),Mxml和Xaml的也很相似…

Flex和J2EE /.NET其实没什么关系,Macromedia用java做出来个应用把flash的技术融合到J2EE里面,再用.net的技术做出来个.net应用把flash技术融合到.net里面去;应该说flex解决了J2EE里面和.net里面最繁琐的问题那就是web 客户端的问题。

传统的程序员在开发动画应用方面存在困难,Flex 平台最初就是因此而产生。Flex 试图通过提供一个程序员们已经熟知的工作流和编程模型来改善这个问题。

RIA相互之间关系

RIA相互之间关系

Flex 最初是作为一个J2EE(Java 2 Platform, Enterprise Edition)应用,或者可以说是JSP(JavaServer Pages)标签库而发布的。它可以把运行中的MXML(Flex标记语言)和ActionScript编译成FLASH应用程序(即二进制的SWF文件)。最新版的FLEX支持创建静态文件,该文件使用解释编译方式并且不需要购买服务器许可证就可以在线部署。

Flex的目标是让程序员更快更简单地开发RIA应用。在多层式开发模型中,Flex应用属于表现层。

Flex 采用GUI界面开发,使用基于XML的MXML语言。Flex 具有多种组件,可实现Web Services,远程对象,drag and drop,列排序,图表等功能;FLEX内建动画效果和其它简单互动界面等。相对于基于HTML的应用(如PHP、ASP、JSP、ColdFusion及CFMX等)在每个请求时都需要执行服务器端的模板,由于客户端只需要载入一次,FLEX应用程序的工作流被大大改善。FLEX的语言和文件结构也试图把应用程序的逻辑从设计中分离出来。

Flex 服务器也是客户端和XML Web Services及远程对象(Coldfusion CFCs,或Java类,等支持Action Message Format的其他对象)之间通讯的通路。

一般被认为是 Flex 替代品的是OpenLaszlo和AJAX技术。

三、Flex优势

作为新一代的富客户端互联网技术的佼佼者,Flex这种技术已经被越来越多的公司所采用,被越来越多的用户和程序员所接受。以下列出Flex十大优势:

1、Flex与Flash:可以让普通程序员开发制作Flash成为可能

2、界面表现能力一流。

3、RIA富客户端应用,解决了异步调用,界面无刷新,浏览器兼容性等多项难题

4、对流媒体的支持:Flex是被公认为流媒体技术支持最好的应用

5、平台的可用性:根据ADOBE公司的说法,Flash player在全世界一半的PC机器上安装度为99.8%

6、跨平台:Flash player能够在linux下运行,也可以在手机上运行,所以不用担心绑死在WINDOWS上

7、对底层的可操作性:Flex能够调用底层的东西,比如可以调用摄像头实现视频,而且视频本身就嵌入在Flex应用中,由Flex player直接播放。

8、平台的后续运营和发展前景:Flex是由ADOBE公司推出的且开源

9、有充足的学习环境: Flex官方样式配置工具,可以在线配置Flex应用程序各种控件的外观样式,该程序也是用Flex编写的,大家可以想象Flex可以做到什么程度的应用了,而且这么漂亮的界面,根本不用做任何图片和美工,都是直接用样式实现即可。

10、可以用任何你熟悉的WEB编程平台作为后台数据访问层,可以使用 .net,php,jsp,webservice 。

11、面向对象的as3编程语言,有着和java非常类似的语言风格,非常适合学java程序员快速入门。

Adobe RIA

传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表现层建立于HTML页面之上,而HTML是适合于文本的,传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了。而富互联网应用(Rich Internet Applications,缩写为RIA)的出现就是为了解决这个问题。

RIA面向用户

富互联网应用程序是下一代的将桌面应用程序的交互式用户体验与传统的WEB应用的部署灵活性和成本分析结合起来的网络应用程序。富互联网应用程序中的富客户技术通过提供可承载已编译客户端应用程序(以文件形式,用HTTP传递)的运行环境,客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的WEB服务所驱动。结合了声音、视频和实时对话的综合通信技术,使富互联网应用程序(RIA)具有前所未有的网上用户体验。

Adobe RIA技术封装让现有的WEB技术得到了极大的保留,核心价值在于大大提高了产品设计师和开发工程师的“开发体验”,强化了设计端和开发端的整合。设计师和开发工程师们可以方便地将自己的代码平移到新的平台上,并且发布、部署的方式比之前的任何一款开发工具都方便得多,从而使RIA应用有更广大的开发者基础。

Adobe RIA技术也将带来新的桌面革命——“Desktop 2.0”,内容从Flash, HTML/CSS/JS,到PDF,几乎涵盖了时下最流行的WEB内容载体。此外,“可离线”应用模式能让用户更加安全、舒适地进行工作和娱乐。用户们不必再抱怨因网络故障而造成的信息损失,而且也可以借助本地资源更好地节省网络资源。因此,Adobe RIA技术可以让用户将WEB 2.0应用带回桌面,创造的商业应用价值和用户体验价值将超过以往任何技术。

四、Flex和Flash的主要区别:

1、Flex侧重于应用软件、游戏的开发,flash更侧重于网页web端的展示效果。

2、Flex生成的swf文件较大,不利于网络传输,flash生成的swf文件较小,适合在网站上展示。

五、Flex技术组成

安装及配置

SDK2:FLEX标准开发组件,包含flex框架;

Flex Charting 2:FLEX图表组件

Flex Builder 2:开发FLEX应用的集成开发工具,基于Eclipse;

Flex Data Service 2:FLEX数据服务,应用程序使用数据服务与服务器交换数据

技术框架

Flex技术包括以下几个主要技术框架:

1. 描述应用程序界面的XML语言(MXML);

2. 符合ECMA规范的脚本语言(ActionScript),处理用户和系统的事件,构建复杂的数据模型;

3. 一个基础类库;

4. 运行时的即时服务;

5. 由MXML与ActionScript文件生成swf文件的编译器。

开发步骤

以下直接来源于Flex 2.0 Beta 3的帮助文件:

使用一系统预定义组件(窗口,按钮等)来定义一个开发界面。

组织安排组件,现在用户自定义的界面设计。

使用风格和主题来定义可见设计。

增加动态动作,如应用程序之间的互动。

定义并在需要时连接上一个数据服务。

从源代码生成一个在Flash播放器中运行的SWF文件。

六、Flex与java交互

Flex用RemoteObject方式与Java通信是最常用的方式,这是一种最直观的方式。当然Flex也可以用HttpService与服务器类如servlet通信

猜你喜欢

转载自gaojingsong.iteye.com/blog/2319304