FLEX经典入门教程(1-2)

2009-06-21 23:17:56 作者:allniu 来源:www.allniu.com 浏览次数:0 网友评论 0

FLEX经典入门教程
 
FLEX效果图预览:

一、前言:技术描述

二、网络数据通信方面技术

三、多媒体方面

四、控件展示,行为效果方面

五、程序标准与特殊控件应用

六、绘图API、滤镜效果、其他 

七、flexflash cs3相结合的应用开发

八、flex开源方面信息介绍

 
一、前言:技术描述
Flex是adobe公司推出的用于富应用(RIA程序)程序开发的IDE,与flash cs3开发方式不同的是,它是用一种基于xml规范的标签语言-MXML来进行程序界面开发,在flex里封装了标准的组件库,并可以进行组件皮肤(SKIN)的设置和给予了css的支持,在界面布局,用户行为效果方面比较突出,和flash cs3形成了互补,flex的强项在于用户行为效果,数据支持,界面支持方面,目前官方正式版本是flex 3.0,最新测试版本为flex 3 beta3,为官方最后一个测试版本(版本3里),同时推出了air方面的应用,air是类似于java虚拟机的跨平台技术,主要强项在于结合了flex方面的优势和本地桌面程序的优势,非常适合于开发需结合本地和网络应用的程序,而且安装方便,一个url地址即可安装运行环境和程序本身.以下将概要说明flex具体技术应用方面的信息:
二、网络数据通信方面技术
1、RemoteObject远程调用对象
(1)技术描述
属于flex中rpc包的一功能,利用此功能可以和后台服务器建立数据通信连接,后台可以是.net,j2ee或php等,建立远程调用对象后等于可以直接调用后台服务器声明的方法,像在本地调用一样方便,由于其经过网络传输数据的协议是AMF(action message format,adobe 官方数据协议,已经开源,目前最新版本是amf3),对数据通信传输针对flex进行了特别的优化,所以这个方法比ajax,及web service都来得有效率
(2)应用场景
基于flex所开发的富客户端和有web服务器方面大数据集应用的程序,如电子商务网站等,其实现的效果就是不刷新那个获取后台数据,类似ajax
(3)、RemoteObject在不同后台环境下的部署
1),j2ee环境
adobe官方的liveCycle data service为flex与j2ee工程之间提供了良好的数据通信支持,lcds本身就是一个j2ee工程,且支持很多协议,如amf,rtmp等,对大数据量的支持非常有效率,只需在j2ee工程中导入这些jar文件,和做相应web的配置即可使用,目前lcds有免费的单cpu版本
2),.net环境                                                                                                                                                                                               
由于flex本身与java结合密切,其推出的官方数据服务lcds也是基于java的,但是在开源社区的努力下其他相应后台也出现了针对flex的数据服务开源组件,如fluorine,是针对.net和flex的,只需要在web目录下导入其dll文件,和在web配置文件做相应修改即可使用,但是功能来讲没lcds强大
3),php环境
和.net类似,有一个openPHP的来源组件,具体部署方式未实践过
2、webService
(1)技术描述
可以对外界暴露出一个能够通过Web进行调用的API ,方便对其他方提供数据服务
(2)应用场景
获取第三方提供的数据,并加于利用,如天气预报,股市行情
3、httpService
可以用来向服务器端页面提交GET或POST请求的API,加载外部动态xml或其他文本数据
4、socket
(1)技术描述
目前as3里只提供socket client的API支持,具体介绍略
(2)应用场景
和其他语言所开发的socket server进行二进制数据交互,点对点通信
5、与其他语言交互
(1)技术描述
在flex里和其他语言的交互比较强大,包括和js及后台web服务器端程序,socket服务端程序进行数据交互等
(2)应用场景
在一个网页上,flex和js进行数据通信
在一个桌面程序上和桌面程序所使用的开发语言进行数据交互
在一个网页上flex和web后台进行数据交互
获取第三方提供的web service数据
和socket server进行交互,开发socket方面的应用程序
在本地不同网页间或不同程序间的flex或flex程序进行数据交互,亦可以让这作为数据中转,然后根据其他交互方式把程序传递给其他应用程序
6、本地2个之间的通信
As2,或as3里提供本地间两个swf文件之间通信的功能(localConnection),本地是指在同一台计算机上,可以不同网页之间(域名需要一致),或者不同应用程序之间嵌套的swf 文件之间可以通信,传递数据格式为as里支持的全部数据格式
7、remoteObject,webService和httpService三种数据方式比较
(1),各自优点
RO速度快,支持大数据量传输,数据传输保密性好,传递数据类型多样,WS就不依赖后台,无须再后台布置相应文件,HS应用简单
(2),各自缺点
RO对后台有较强的依赖性,需要针对不同后台部署相应程序或文件,WS速度慢,HS传输数据量小,不安全
(3),对比选择
这三种方式都可以让flex和后台进行数据交互,开发过程中需根据应用程序的需求和数据需求等选择适应的交互方式,一般来讲选择RO方式,因为RO方式走的是AMF协议,速度快,传输安全,支持大数据量等
8、AMF协议介绍
Adobe宣布了他们正在开源Remoting和Messaging技术,而此前二者是Adobe的商业产品LiveCycle Data Services的一部分。新的开源产品叫做BlazeDS。Adobe还开源了AMF协议规范。这三项都采用LGPL许可。Adobe声明的部分内容:
……开发者可以方便的将富客户端连接到已有的服务器应用,包括Java™服务器应用和Adobe ColdFusion®组件。Adobe还提供了附加的支持服务,包括Adobe LiveCycle Data Services社区版,一个包括提供经过认证的BlazeDS构建版本在内的订阅服务,访问Adobe的企业支持资源和附加的益处,例如产品担保和责任 赔偿,以及附加的开发支持。产品的商业版本,LiveCycle Data Services ES,有企业级的功能,可以构建包括需要海量信息处理能力,高级客户端-服务器数据同步功能,冲突检测/解决,Adobe AIR应用的离线数据管理服务以及由RIA生成PDF……等功能的高级客户协同应用。 Remoting和Messaging技术与AMF的关系:

 
……“现有一些开源项目和技术为Adobe Flash®和Flex客户端应用提供了Remoting和Messaging功能,这些技术和AMF协议规范的贡献代表了向跨平台的标准化实现的一大步,”Wade Arnold这样谈论 AMFPHP。 “用Adobe的技术做开发,我们可以创建一个公共的编程模型,使得RIA开发者可以扩展他们的应用,以一种兼容的和一致的方式跨越不同的服务器技术。 AMFPHP 项目使得LAMP(Linux, Apache, MySql, Php)应用可以直接与Adobe技术一起工作,更好的利用AMF协议,这太棒了。”…… 今天Adobe还在Adobe Labs发布了更新的Flex和 AIR的beta版。InfoQ与Adobe的产品经理Christophe Coenraets讨论了新产品。第一个显而易见的问题是Adobe为什么要开源它的产品。Coenraets解释说Adobe看到在业界有许多与 Flex有关的Remoting方面的努力。然而许多公司不能负担昂贵的商业的解决方案。开源产品是为了加速Flex的采用。InfoQ继而讨论了开源的 产品与之前的产品LiveCycle Data Services的比较。Coenraets说明这一次没有开源数据管理功能。RTMP二进制消息通道也没有开源。BlazeDS项目将包括传统的轮询通 道和长轮询通道来接收消息。BlazeDS还将包括一个新的http流通道用于需要快速通道的应用。

 
Coenraets和InfoQ接着讨论了AMF协议的开源。AMF是一种二进制的格式用来在客户端和服务器端交换数据。BlazeDS项目的 Remoting部分包括一个与Java通讯的实现。Coenraets说Adobe发现AMF相比于其他的传输格式例如XML有显著的性能优势。 Adobe正在期待与AMFPHP 项目和 Midnight Coders 的合作,Midnight Coders 实现了.NET版的AMF协议。Adobe希望发布AMF协议规范将会使得其他项目可以更积极地支持其他语言的AMF访问。
最后,InfoQ趁机跟进一下在今年4月宣布的Flex的开源计划的路线图。Adobe的开源工作有三个目标:有源代码的构建版本,一个开放的Bug数据库,源代码控制系统允许公众访问。现在Flex有了定期的构建版本,Bug数据库也已经投入使用,Coenraets说Adobe准备在2008年初发布Flex 3的时候提供公开的源代码控制系统。同样,BlazeDS已经有了定期构建版本和Bug数据库,将在2008年初提供源代码控制系统。

 9、实例截图


 

相关文章

[错误报告] [收藏] [打印] [关闭] [返回顶部]

最新图片文章

最新文章