初学Flex

一、 RIA
RIA Rich Internet Applications 的缩写,翻译为丰富互联网应用程序。 RIA 的目标是将桌面程序的表现力与浏览器的程序的方便、快捷结合在一起。开发者可以在浏览器程序上部署 C/S 客户端的程序,得到比传统 HTML 更强大的表现力。
RIA 最突出的特点为 “Rich” ,同时 RIA 最核心的部分也体现在 “Rich” 中。 “Rich” 包含了两层含义:
1 .丰富的数据模型
RIA 技术提供了多种数据模型来处理客户端复杂的数据操作。使用 RIA 可以将部分原本需要在后台程序处理的问题转移到客户端,使数据能够被缓存在客户端,从而可以实现一个比基于 HTML 的响应速度更快,且数据往返于服务器的次数更少的用户界面。
2 .丰富的界面元素
RIA 技术提供了比 HTML 更为丰富的界面表现元素,密集、响应速度快和图形丰富的页面元素与数据模型结合在一起,为用户提供好的使用体验。
二、 Flex
2004 年初, RIA 技术的主要倡导者 Macromedia 发布了 Flex
Flex 是为满足希望开发 RIA 的企业级程序员的需求而推出的表示层服务器和应用程序框架,它可以运行于 J2EE .NET 平台。
Flex 具有桌面应用程序的响应性与丰富性,又具有 Web 传播范围广的的特性。接下来首先介绍一下 Flex 的基本架构。
Flex 的基本架构包括 4 部分
1 Adobe SDK
2 Adobe Flex Charting
3 Adobe Flex Data Services
4 Adobe Flex Builder
三、 MXML
1. MXML Flex 应用程序用于进行用户界面组件布局的语言。用户可以通过 MXML 来显式地定义应用程序的非可视方面,例如访问服务器端数据源和用户界面组件与数据源之间的数据绑定。 MXML 是由 Flex 引入的,用来描述 Flex 应用程序界面的语言。本节简要地介绍什么是 MXML MXML 的标准。 MXML 基于 XML ,是用来描述用户界面的语言。 MXML 遵循 W 3C XML 标准,所以也可以把 MXML 看作普通的 XML 文件。可以使用任何的文本编辑器编写 MXML 。下面就是一个 MXML 的例子,包含标签、属性、命名控件等。
<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
</mx:Application>
HTML 不同, MXML 借助 XML 的规范拥有更强的结构,更少的语法歧义。 MXML 还引入了更丰富的标签集,如: DataGrid Tree TabNavigator Accordion Menu 等。这些都是 Flex 标签集中的一部分。还可以扩展 MXML 标签,创建自己的组件。此外,二者最大的区别是, MXML 定义的用户界面用 Flash 播放器运行,相对传统的基于 HTML 、页面为中心的 Web 应用而言,这将更具吸引力。
2. MXML 遵循 XML 的标准,但对于 XML 中的标签、属性、文件结构等 XML 元素进行了相应的约束和扩展。
 
标签:
MXML 是一种描述 Flex 应用程序构造的 XML 语言。每个 MXML 文件应该以一个 XML 声明开始:
<?xml version="1.0"?>
<?xml version="1.0" encoding="utf-8"?>
和其他 XML 语言一样, MXML 包含元素(标签)和属性,对大小写敏感。但标签名称以大写字母开头,大小写混合,必须有对应的结束标签,如下所示。
<ComboBox> </ComboBox>
也可以这样结束对没有内容的标签,如下所示。
<ComboBox/>
 
属性:
属性以小写字母开头,大小写混合。属性必须包含在引号内。
<ComboBox id="myCombo"/>
除了 click initialize 之类的事件属性外,其他属性都被编译器作为文本字符串处理。如果需要绑定数据或者强迫编译器执行表达式,可以将变量的部分用花括号括起来。
<ComboBox dataProvider="{myArray}"/>
大部分的属性都可以作为子标签。如,
<ComboBox dataProvider="{myArray}"/>
等效代码如下。
<ComboBox>
 <dataProvider>{myArray}</dataProvider>
</ComboBox>
 
文件结构
描述应用程序的 MXML 文件必须有一个位于其他元素之外的 Application 标签,如下所示。
<?xml version="1.0"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
  <!-- 定义其他界面元素 --> 
</mx:Application>
在上面的代码中 xmlns 属性,声明了 XML 的命名空间。命名空间可以让用户在单个文档中使用多重 XML 语言,而避免混淆不同语言中相同的元素名称。这里的 ":mx" 就是一个在特定命名空间中使用的前缀。这里定义的命名空间是标准的 MXML 类库,它必须包含在每个 MXML 文件中。
 
<mx:Script>
MXML 文件中直接插入 ActionScript 方法时要用到 <mx:Script> 标签,具体语法如下。
     <mx:Script>
              <![CDATA[
                    // 插入 ActionScript
              ]]>
       </mx:Script>
在这个标签里,需要注意的地方有如下几点:
标签要成对出现。不能在标签内定义任何的类或者接口,因为本身当前的 MXML 文件就是一个类, ActionScript 并没有像 Java 一样支持内部类定义。
CDATA 标签主要用来告诉编译器标签内的内容不要被解释成 MXML 语法,而是 ActionScript
<mx:Script> 标签必须定义在 MXML 文件根标签的层次,否则会出现编译器错误。
四、 Flex 中使用 MXML
1. 定义界面组件
         MXML 中可以利用标签、属性定义 Flex 提供组件。如: <mx:Button>
2. 自定义组件
3. 数据绑定
Flex 针对用户界面数据的复杂性,提出双向的数据绑定机制:可以将用户界面控件绑定到服务调用的数据结果集上,反过来,也可以将服务的参数与用户界面控件输入的值进行绑定。
4. 使用样式表
MXML 中可以利用 <mx:Style> 标签定义样式或者引入外部的样式表
5. 存储和验证数据
可以使用数据模型来存储特定数据,数据模型是一个可以提供存储数据属性和包含附加方法的 ActionScript 对象。声明一个简单的没有任何方法的数据模型可以使用 <mx:Model> <mx:XML> 标记,还可以使用验证组件验证存储数据的有效性。 Flex 包含了一套标准的数据验证组件,当然也可以创建自己的验证组件。
6. 格式化数据
与验证数据类似,可以使用 Flex 提供的数据格式器对指定的数据进行格式化,在 MXML 中定义相应的格式器即可。
7. 触发事件
Flex 应用程序是基于事件驱动的,每一个组件都有许多不同的事件和其对应,例如 <mx:Button> click 事件等。组件可触发的事件都可以将事件的名称,作为组件标签的属性指定该事件发生的处理方法。例如在按钮的组件标签 <mx:Button> 中定义 click 属性,并为 click 属性指定处理方法,该处理方法可在 <mx:Script> 内利用 ActionScript 定义。
 
 

你可能感兴趣的:(职场,休闲)