Flex学习01---Flex概述

RIA技术:

学习Flex必须要了解RIARIARich Internet Application,富客户端英特网应用程序,关键是富字。传统的HTML页面元素非常有限,开发人员在页面刷新和相应速度都会受到很大的困扰。随着3G的普及,网络带宽将得到非常大的改善,富互联网应用的时代也越来越近了,人们就能通过浏览器体验到以前C/S架构的桌面级应用。

RIA在页面的表现力和交互力都大大超过 了传统的HTML页面;

富客户端技术的实现主要有:

       AjaxGoogle最先使用,是现在用的最广泛的RIC技术;

       FlexAdobe公司产品,编译为swf文件运行;

       JavaFXsun公司规范,前途未知;

       其他:Silverlight,微软已经看到了RIA市场的潜力,故而有了SilverlightSilverlight从本质来说,是一种WPF应用程序,其界面使用XAML描述,后端可以用任何一种.NET兼容的语言开发;

       从开发角度来说,现在的用户越来越重视界面的美化,即给人的视觉效果,所以说在以后我认为RIA会有很好的应用;

 

Flex简介:

Flash Player最早为Macromedia公司产品,作为因特网页的矢量动画平台,早期的Flash Player主要是面向娱乐功能和多媒体应用。其后推出了ActionScript语言做为补充,通过ActionScript可以对Flash Player中的动画和控件进行更为复杂的逻辑控制。200512Adobe收购Macromedia公司,由此带了的巨大变革,Adobe将其打造为新一代的RIA,同时将此版本命名为Flex

       如果经常使用自己电脑的人会发现,我们在使用电脑的时候访问的很多网页都要求安装这个软件,否则不能正常浏览;

Flex是一套AdobeRIA技术的集合,Flex应用在多层架构中做为表示层。Flex包括:Flex SDKFlex BuilderFlash PlayerLiveCycle Data ServiceActionScriptMXML

 

Flex编程与Flash制作:

虽然对于Flex应用和多媒体应用都运行于Flash Player这同一平台,但对于动画、影音等多媒体应用仍然的是美工或媒体制作者的工作,而Flex应用编程则完全是程序员的工作,可以说是两套面向不同需求的应用开发。在FlexGUI编程中提供了和Java.NETVBDelphi中相类似UI控件,诸如:输入框、按钮、树、面板、表格、菜单、日期、进度条、各类选择框等,并与这些传统语言相类似的界面控制机制,诸如:消息、触发动作(Action)等。一个熟悉Java编程的开发者,很容易过渡到Flex的开发,ActionScript语言本身、甚至Flex中提供的很多类库都和Java相类似。从另外一个角度来看,一个Flex开发者完全不懂Flash制作也没有任何问题,Flex应用仅仅是运行在Flash Player上而已。当然做为Adobe的统一解决方案,Flex开发并不排斥对影音和动画等媒体的操作,实际上两者可以完美的结合。

通俗的说Flex主要由程序员使用,侧重于界面表单控件显示与事件处理编程,Flash为美工使用,侧重于动画效果。它们的相同点是都可以使用ActionScript语言,并且编译后的文件都为swf格式的flash文件。所以从这点上看也可以看出这存在着Flex技术的一个弊端,即浏览器或者说平台要运行Flex的话,就必须要借助于它的插件,或者单独的Flash播放器,而Ajax则本身利用的是浏览器的组件,而不需要安装插件

Flex开发的两种语言:MXMLActionScript

 

深入Flex组件:

1Flex SDK

Flex SDK就如同JavaJDK一样,为开发人员提供了一个免费的开发套件,同时这也是一个开源的项目,开发者可以通过Flex SDK开发完整的RIA应用;

 

2ActionScript

类似于Java语言,文件后缀为as(源文件,编译后为swf)。Adobe 2007327日发布了Flash 9.0Flash 9.0支持全新脚本语言ActionScript 3.0ActionScript 3.0Flash/Flex历史上第二次飞跃,从此以后,ActionScript终于被认可为一种“正规的”、“完整的”、“清晰的”面向对象语言。新的ActionScript包含上百个类库,这些类库函盖了图形、算法、矩阵、XML、网络传输等诸多范围,为开发者提供了一个丰富的开发环境基础。

 

3MXML

假如我们要在界面上显示一个文本框,当然用ActionScript语言也能编写实现,但比较复杂,MXML就可以帮我们轻松实现。MXML是一种基于XML用于创建用户界面的功能强大的标记性语言。

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<mx:Button id="Button" />

</mx:Application>

编译过程:使用mxmlc命令

实际上,在编译的时候,MXML会转化成ActionScript

package {

import mx.core.Application;

import mx.controls.Button;

public class Example extends Application {

internal var button:Button;

public function Example( ) {

super( );

button = new Button( );

addChild(button);

} } }

一般我们使用MXML表现各种控件,使用ActionScript编写事件业务处理代码;从这方面说,你可以把MXML理解为html,ActionScript理解为JavaScript,但本质上MXML会编译为ActionScript,Flex源码只有ActionScript

 

4Flash Player

运行flash文件,类似JVM,一般浏览器包含。 Adobe Flash Player 10 ActiveX 适用于IE内核的浏览器(如IE、世界之窗浏览器、傲游浏览器等)。使用 ActiveX 技术编写(是IE内核独有的技术) Adobe Flash Player 10 Plugin 适用于非IE内核浏览器(Google 浏览器、Firefox(火狐)Opera等)。 总之你两个都装上就行了,建议都装。

 

5Flex Builder

编译运行FlexIDE工具,基于Eclipse开发。内置Flex SDKFlash Player4.0命名为Flash Builder。 要收费的,能免费使用60天(悲剧之处)。

 

6LiveCycle Data Service

LiveCycle Data Service的前身叫做Flex Data Service,即:Flex应用的数据服务。LC DS是将RIA应用同企业业务逻辑、J2EE.Net等企业应用结合在一起的服务器软件。该服务器软件需要部署在应用服务器上,例如 WebSphereWebLogicJBossTomcatJRun等。 最最重要:它是收费的。

 LiveCycleAdobe企业解决方案平台,包含业务流程管理系统(LiveCycle Process Management)、企业版权管理系统(LiveCycle Rights Management)、表单服务(LiveCycle Forms)等12个解决方案组件。LiveCycle Data Service是其中的一个整合RIA应用和J2EE等企业应用的解决方案组件。

功能:

 1. 提供RPC服务,即远程过程调用服务:基于HTTPSOAP协议获取服务器端数据,或者基于AMF格式,通过调用远程对象获取数据和触发服务器端逻辑;

2. 提供数据管理能力:管理客户端和服务器端的数据同步、大规模数据的数据分页以及数据冲突等;

3. 提供消息服务:Web层客户端应用同服务端的消息发布和订阅,基于每个客户端的服务质量服务(QOS)、RTMP通道支持;

4. 提供支持离线应用的能力:例如离线数据缓存及本地消息队列等;

5. 提供企业Flex应用集成所需的代理服务、Web层编译Flex应用能力、支持WSRP接口的门户部署、集群部署、支持Ajax的数据服务、实现Flex RIA应用和Ajax程序交互的Flex-Ajax Bridge、多种服务适配器、服务器端PDF生成等其他各种服务。

 

7BlazeDS

可以理解为是LCDS的子集。客户端运行的flash程序需要调用Server中的java类,借助java类完成数据库访问等功能,通过blazeDS就可以访问调用这些Java类了。

blazeDS是开源免费的,LCDS是付费和闭源的。

 

8AMF

AMFAction Message Format的缩写,是Adobe公司定义的协议,AMFLCDS(blazeDS)与前端Flex应用通信的方式之一,BlazeDS和前端通信还可以采用SOAPHTTP等其它协议。与这些通信方式不同,AMF采用二进制的编码方式,并采用Zlib对消息进行压缩,AMF消息体的大小只有基于XML协议的十分之一。因此在需要大量传输消息的场合,和纯文本协议相比,AMF是一种高效率的传输方式。同时AMF也为开发者提供了一种便利而快速的通信开发接口,它可将前端Flex中本地对象(例如:ObjectArrayDateXML)传给Server端时自动适配成Server端适当的对象。例如:如果Server端是PHP应用,则AMF会自动转译为PHPAssociative Array;如果Server端是Java应用,则AMF将其转换为Java的数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值