RIA技术:
学习Flex必须要了解RIA,RIA:Rich Internet Application,富客户端英特网应用程序,关键是富字。传统的HTML页面元素非常有限,开发人员在页面刷新和相应速度都会受到很大的困扰。随着3G的普及,网络带宽将得到非常大的改善,富互联网应用的时代也越来越近了,人们就能通过浏览器体验到以前C/S架构的桌面级应用。
RIA在页面的表现力和交互力都大大超过 了传统的HTML页面;
富客户端技术的实现主要有:
Ajax:Google最先使用,是现在用的最广泛的RIC技术;
Flex:Adobe公司产品,编译为swf文件运行;
JavaFX:sun公司规范,前途未知;
其他:Silverlight,微软已经看到了RIA市场的潜力,故而有了Silverlight,Silverlight从本质来说,是一种WPF应用程序,其界面使用XAML描述,后端可以用任何一种.NET兼容的语言开发;
从开发角度来说,现在的用户越来越重视界面的美化,即给人的视觉效果,所以说在以后我认为RIA会有很好的应用;
Flex简介:
Flash
Player最早为Macromedia公司产品,作为因特网页的矢量动画平台,早期的Flash Player主要是面向娱乐功能和多媒体应用。其后推出了ActionScript语言做为补充,通过ActionScript可以对Flash Player中的动画和控件进行更为复杂的逻辑控制。2005年12月Adobe收购Macromedia公司,由此带了的巨大变革,Adobe将其打造为新一代的RIA,同时将此版本命名为Flex。
如果经常使用自己电脑的人会发现,我们在使用电脑的时候访问的很多网页都要求安装这个软件,否则不能正常浏览;
Flex是一套Adobe的RIA技术的集合,Flex应用在多层架构中做为表示层。Flex包括:Flex SDK、Flex
Builder、Flash Player、LiveCycle
Data Service、ActionScript、MXML。
Flex编程与Flash制作:
虽然对于Flex应用和多媒体应用都运行于Flash Player这同一平台,但对于动画、影音等多媒体应用仍然的是美工或媒体制作者的工作,而Flex应用编程则完全是程序员的工作,可以说是两套面向不同需求的应用开发。在Flex的GUI编程中提供了和Java、.NET、VB、Delphi中相类似UI控件,诸如:输入框、按钮、树、面板、表格、菜单、日期、进度条、各类选择框等,并与这些传统语言相类似的界面控制机制,诸如:消息、触发动作(Action)等。一个熟悉Java编程的开发者,很容易过渡到Flex的开发,ActionScript语言本身、甚至Flex中提供的很多类库都和Java相类似。从另外一个角度来看,一个Flex开发者完全不懂Flash制作也没有任何问题,Flex应用仅仅是运行在Flash Player上而已。当然做为Adobe的统一解决方案,Flex开发并不排斥对影音和动画等媒体的操作,实际上两者可以完美的结合。
通俗的说Flex主要由程序员使用,侧重于界面表单控件显示与事件处理编程,Flash为美工使用,侧重于动画效果。它们的相同点是都可以使用ActionScript语言,并且编译后的文件都为swf格式的flash文件。所以从这点上看也可以看出这存在着Flex技术的一个弊端,即浏览器或者说平台要运行Flex的话,就必须要借助于它的插件,或者单独的Flash播放器,而Ajax则本身利用的是浏览器的组件,而不需要安装插件;
Flex开发的两种语言:MXML和ActionScript;
深入Flex组件:
1、Flex SDK:
Flex
SDK就如同Java的JDK一样,为开发人员提供了一个免费的开发套件,同时这也是一个开源的项目,开发者可以通过Flex SDK开发完整的RIA应用;
2、ActionScript:
类似于Java语言,文件后缀为as(源文件,编译后为swf)。Adobe 2007年3月27日发布了Flash 9.0,Flash
9.0支持全新脚本语言ActionScript 3.0,ActionScript
3.0是Flash/Flex历史上第二次飞跃,从此以后,ActionScript终于被认可为一种“正规的”、“完整的”、“清晰的”面向对象语言。新的ActionScript包含上百个类库,这些类库函盖了图形、算法、矩阵、XML、网络传输等诸多范围,为开发者提供了一个丰富的开发环境基础。
3、MXML:
假如我们要在界面上显示一个文本框,当然用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。
4、Flash Player:
运行flash文件,类似JVM,一般浏览器包含。 Adobe Flash Player 10 ActiveX 适用于IE内核的浏览器(如IE、世界之窗浏览器、傲游浏览器等)。使用 ActiveX 技术编写(是IE内核独有的技术) Adobe Flash Player 10 Plugin 适用于非IE内核浏览器(Google 浏览器、Firefox(火狐)、Opera等)。 总之你两个都装上就行了,建议都装。
5、Flex Builder:
编译运行Flex的IDE工具,基于Eclipse开发。内置Flex SDK与Flash Player,4.0命名为Flash Builder。 要收费的,能免费使用60天(悲剧之处)。
6、LiveCycle Data Service:
LiveCycle
Data Service的前身叫做Flex Data Service,即:Flex应用的数据服务。LC DS是将RIA应用同企业业务逻辑、J2EE、.Net等企业应用结合在一起的服务器软件。该服务器软件需要部署在应用服务器上,例如
WebSphere、WebLogic、JBoss、Tomcat和JRun等。 最最重要:它是收费的。
LiveCycle是Adobe企业解决方案平台,包含业务流程管理系统(LiveCycle Process Management)、企业版权管理系统(LiveCycle
Rights Management)、表单服务(LiveCycle Forms)等12个解决方案组件。LiveCycle Data Service是其中的一个整合RIA应用和J2EE等企业应用的解决方案组件。
功能:
1. 提供RPC服务,即远程过程调用服务:基于HTTP或SOAP协议获取服务器端数据,或者基于AMF格式,通过调用远程对象获取数据和触发服务器端逻辑;
2.
提供数据管理能力:管理客户端和服务器端的数据同步、大规模数据的数据分页以及数据冲突等;
3.
提供消息服务:Web层客户端应用同服务端的消息发布和订阅,基于每个客户端的服务质量服务(QOS)、RTMP通道支持;
4.
提供支持离线应用的能力:例如离线数据缓存及本地消息队列等;
5.
提供企业Flex应用集成所需的代理服务、Web层编译Flex应用能力、支持WSRP接口的门户部署、集群部署、支持Ajax的数据服务、实现Flex RIA应用和Ajax程序交互的Flex-Ajax Bridge、多种服务适配器、服务器端PDF生成等其他各种服务。
7、BlazeDS:
可以理解为是LCDS的子集。客户端运行的flash程序需要调用Server中的java类,借助java类完成数据库访问等功能,通过blazeDS就可以访问调用这些Java类了。
blazeDS是开源免费的,LCDS是付费和闭源的。
8、AMF:
AMF是Action Message Format的缩写,是Adobe公司定义的协议,AMF是LCDS(blazeDS)与前端Flex应用通信的方式之一,BlazeDS和前端通信还可以采用SOAP或HTTP等其它协议。与这些通信方式不同,AMF采用二进制的编码方式,并采用Zlib对消息进行压缩,AMF消息体的大小只有基于XML协议的十分之一。因此在需要大量传输消息的场合,和纯文本协议相比,AMF是一种高效率的传输方式。同时AMF也为开发者提供了一种便利而快速的通信开发接口,它可将前端Flex中本地对象(例如:Object、Array、Date、XML等)传给Server端时自动适配成Server端适当的对象。例如:如果Server端是PHP应用,则AMF会自动转译为PHP的Associative Array;如果Server端是Java应用,则AMF将其转换为Java的数组
- 大小: 20.5 KB
- 大小: 42.7 KB
分享到:
相关推荐
FLEX概述 - **FLEX介绍**:FLEX是一种用于构建跨平台富互联网应用程序(RIA)的技术。它使用了一种名为MXML的标记语言来创建用户界面,并利用ActionScript进行逻辑处理。FLEX能够与多种后端技术集成,如Java、.NET...
总结,通过对"arcgis-viewer-builder-flex-3.6-src.zip"的源码学习和研究,开发者不仅可以掌握FlexViewer 3.6的核心技术,还能提高地图应用开发能力,创造出功能丰富、性能优秀的GIS应用,服务于各种业务场景,如...
### Flex基础培训概述 在本篇文章中,我们将详细介绍Flex的基础概念、组成部分以及如何利用Flex进行高效的应用程序开发。Flex是一种开源框架,专为构建高性能且美观的富互联网应用(RIA)而设计。它允许开发者使用...
#### 一、项目概述 在当前软件开发领域,结合多种技术栈来构建高效稳定的应用系统已成为一种趋势。本文档将详细介绍如何创建一个基于`flex`、`ibatis`(现已更名为MyBatis)和`Spring`的技术栈项目。这种组合不仅...
根据给定的文件信息,我们可以总结出一系列关于Flex开发的基础知识点和特定实例,适用于初学者。以下是详细的知识点概述...通过以上知识点的学习,初学者可以逐步掌握Flex的基本用法,并能够独立开发出实用的应用程序。
二、Flex 3.6概述 Flex 3.6是Adobe Flex框架的一个版本,它基于ActionScript 3编程语言,使用MXML和ActionScript进行界面构建和逻辑处理。Flex 3.6提供了丰富的组件库,优化了性能,并且支持与多种后端数据服务集成...
- **Flex概述**:Flex是一种用于构建跨浏览器、跨平台的RIA(Rich Internet Applications)的开源框架。它结合了强大的编程语言ActionScript 3.0和XML,使得开发者能够创建出具有高度交互性的Web应用程序。王一松的...
一、ArcGIS Viewer Flex概述 ArcGIS Viewer Flex 是Esri ArcGIS系统的一部分,它允许开发者通过构建自定义的Flex应用程序来扩展ArcGIS的功能。这个框架包含了多种地图操作控件、图层管理、查询工具以及服务集成等...
- **学习源码**: 理解核心组件的工作原理,参考示例代码进行学习。 - **设计应用**: 规划应用的功能和界面,确定需要定制的组件和服务。 - **编写代码**: 根据设计进行编码,实现功能模块。 - **测试调试**: ...
#### 一、Flex 4概述与新特性 **Flex 4**作为Adobe推出的一款强大的富互联网应用(RIA)开发框架,自发布以来一直受到广大开发者们的青睐。随着版本的迭代升级,Flex 4不仅在原有的基础上进行了大幅度的改进和完善...
标题中的"FLEX提高篇--------AIR应用程序的托盘及托盘菜单的制作"表明这篇内容主要讲解如何在Adobe Integrated Runtime (AIR)环境中使用Flex技术来创建应用程序,并且关注于实现托盘图标及其关联的托盘菜单功能。...
#### 知识点概述 本示例通过使用Flex框架实现了一种视觉上的特效——放大镜效果。在Web开发领域,特别是使用Adobe Flex进行交互式应用开发时,此类视觉特效能显著提升用户体验与应用的趣味性。下面将详细介绍该示例...
此“Flex Air 学习资料\01.Flex概述.rar”压缩包文件包含了对Flex Air的基本介绍,特别是通过“01.Flex概述.swf”这个文件,很可能是以互动式的Flash形式提供了Flex的基础知识。 1. **Flex概述**:Flex是基于...
**Flex SDK概述** Flex SDK是Adobe开发的一个工具集合,它允许开发者使用ActionScript 3.0编程语言和Flex框架创建交互式的、基于Web的应用程序。这个SDK包含编译器、构建工具、模拟器、调试器以及Flex框架库,这些库...
概述 - **FLEX**: Adobe Flex 是一个用于构建跨平台的富互联网应用程序(RIA)的开源框架。它可以用来创建高性能的应用程序,支持多种设备,如桌面、移动设备等。 - **目标**: 本教程旨在通过一系列循序渐进的示例...
- **基础知识概述**:在深入探讨配置方法前,我们需要了解一些基础知识。Flex是一种用于构建和维护富互联网应用程序(RIA)的开源框架,而Java则是一种广泛使用的面向对象编程语言。这两种技术的结合能够帮助开发者...
##### 2.1 组件概述 IFrame组件是一种专门用于在Flex应用中嵌入HTML或JavaScript页面的组件。该组件由Google开发,支持多种Flex版本,包括Flex 3.0和Flex 4.0等。通过IFrame组件,不仅可以在Flex应用中轻松展示外部...