本文引用的客户端应用程序使用 Flex 第 4 版。在探讨客户端应用程序之前,要了解如何创建 Flex 应用程序,以及它们如何在 Flash Player 中作为可执行程序存在,这很重要。
首先,您可以使用 MXML 标记和 ActionScript 代码创建应用程序。常用的工作流是使用 MXML 格式创建 GUI 的主要部分(呈现),然后使用 ActionScript 代码执行事件处理和业务逻辑。由于 MXML 和 ActionScript 都是基于文本的,创建 Flash 应用程序只需要一个标准文本编辑器和 Flex SDK。
其次,编写完 Flex 应用程序之后,使用 MXML 编译器编译代码。然后 MXML 编译器创建可在 Web 浏览器内运行(通过 Flash Player 浏览器插件)的 SWF 文件。
最后,Flash 应用程序在使用时间轴范例的 ActionScript Virtual Machine 2 (AVM2) 中运行。该范例将执行动作分成帧 — 就像电影一样。您在编译时指定 Flash 应用程序中的每秒帧数。此外,Flash Player 将执行动作分成以下已排序的任务:
Flash Player 事件,比如计时器和鼠标事件
用户代码
预渲染逻辑,其中 Flash Player 试图确定是否因数据值变更而更新 GUI
与数据值变更相关的用户代码
Flash Player 渲染
如果要渲染的每秒帧数很少,那么就可以执行大部分用户代码。但是,如果帧频很高(例如,每秒 60 帧),Flash Player 就不太可能执行多数用户代码,因为用户代码执行的时间可能比给定时间更长。在为 Flash Player 编写代码时,记住这一点很重要。
MXML
MXML 是一个强大的声明性 XML 格式,有助于:
因 XML 格式的声明性质而最大限度地降低构建 GUI 所需的代码量
通过明确分离表示逻辑和交互逻辑降低 GUI 代码的复杂度
在进行软件开发时推进设计模式的使用
清单 3 显示了 MXML Application 类。