富 Internet 应用程序(RIA)正在努力将传统桌面应用程序的交互性、响应性和健壮性引入到基于 Web 的应用程序中。对于希望利用商业 智能(BI)和 Web 2.0 技术的开发人员而言,RIA 尤其重要。Adobe Flex 是使用基于 RIA 解决方案的先行者。作为一种相对较新但快速发展 的技术,Flex 利用 Adobe Flash Player 的功能提供具备高度响应性的出色图像表示。Flex 附带许多有用的、健壮的组件,但当 您需要使用 Flex 没有提供的特性并创建特定的功能时,就会面临一些困难。这篇入门级文章深入查看 Flex 的呈现引擎(rendering engine ),并介绍将 Flex 组件集成到您的 RIA 中所需的步骤,同时还解释了从头构建新的 Flex 功能所必须了解的知识。
Flex 和 RIA 简 介
新的客户机-服务器模型的诞生和对更复杂的 UI 的需求要求基于 Web 的产品采用更丰富和更具响应性的应用程序设计。这些新型的 应用程序通常被称为富 Internet 应用程序(RIA),它们的目标是将传统桌面应用程序的许多特征和好处引入到 Web 应用程序中。Adobe Flex 是帮助您创建 RIA 的前沿工具,它包含丰富的图表、动画、3D 效果和响应性更好的用户界面。这些特性对处于萌芽阶段的商业智能(BI )和 Web 2.0 内容的创建和交付尤为重要。核心 Web 2.0 需求通常包括异步处理、请求-响应模式处理和内容聚合等等,Flex 可以帮助您省 时省力地处理这些事情。
Flex 附带许多有用的、健壮的组件,但当您需要使用 Flex 没有提供的特性并创建特定的功能时,就会面临 一些困难。这篇入门级文章深入查看 Flex 的呈现引擎,并介绍将 Flex 组件集成到您的 RIA 中所需的步骤,同时还解释了从头构建新的 Flex 功能所必须了解的知识。我将特别讲解 Flex 及其功能。我还将减少 Flex 和 Java 编程语言之间的相似性,然后从呈现引擎的 角度讨论 Flex 组件的生命周期。在这个过程中,我将深入讲解扩展和构建 Flex 组件的细节,包括仔细查看 Flex 组件的生命周期,以及关 于 Flex 组件的提交、度量和布局的微妙细节。Flex 组件自动为您处理了许多事情,但是离开这些预构建的组件之后,您很快就会不知所措。 我将解析一部分 Flex 组件的工作原理,让您在需要提供这些行为时知道如何做。
Web 开发标准不断变化
Flex 和其他竞争性技 术(比如 JavaFX、Ajax 和 Silverlight)都是引领当今 Web 开发变革的先行者,并且对用户希望如何可视化数据产生巨大的影响。Flex 及 其竞争对手都是比较新的技术,并且都在尝试克服跨浏览器可移植性、安全性和客户端缓存限制等问题。
Flex 最强大的对手之一是 Ajax。它们的功能有一部分是重叠的,但是它们应用的领域却大不相同。Flex 的特长是丰富复杂的图形结构,而 Ajax 主要用于基于文本的内 容。Ajax 通常与 HTML 结合使用,并且用 XML 或 JSON 传输数据,而 Flex 不仅支持 XML 和 JSON 数据传输,甚至还支持二进制格式。在数 据传输速率和紧凑性方面,支持二进制数据传输让 Flex 远远领先于 Ajax。
Flex 的优势
Flex 提供了许多引人注目的优势。 Flex 的大部分优点源于它构建在广泛使用的 Adobe Flash Player 之上。Flex 的主要优点包括:
完整的浏览器可移植性。任何支持 Flash Player 的浏览器(涵盖了大部分浏览器)都支持 Flex 及其脚本语言 ActionScript (AS)。这与 Ajax 形成鲜明的对比,Ajax 受在不 同浏览器中实现的不兼容 JavaScript 的影响。
一致的观感。Flash Player 以向所有操作系统和浏览器提供一致的观感著称。Flex 使 用的是 Flash Player 引擎,所以它也将提供一致的观感。