Flex4系列教程之二 – Flex4(转)
Flex 和 Flex SDK 是什么?
Flex 是一个开源、免费的框架,用于构建在 Adobe? Flash? Player 或 Adobe AIR? runtimes 环境内运行的跨浏览器、桌面和操作系统的富网络应用。
Flex SDK(Flex Software Development Kit)除了包括 Flex 框架以外还包括 compilers(编译器)和 debugger(调试器)等开发工具。(这也意味着没有 Flash Builder 等 IDE 同样可以开发 Flex 应用,但效率会很低。)
授权
Mozilla Public License, version 1.1 (MPL)
开发语言
Flex Framework : Action Script 3.0
开发者
Adobe Systems Incorporated
Flex 应用运行环境 – Adobe? Flash? Player 和 Adobe AIR? Runtimes
两者都是运行环境,前者基于浏览器,后者基于桌面。
可基于这两个环境开发 Flex 应用,但 Adobe? Flash? Player 已非常普及所以现有 Flex 应用绝大多数都是基于 Adobe? Flash? Player 开发。( Flex 3 要求 Flash Player 9 以上,Flex 4 要求 Flash Player 10 以上)
本系列教程也只针对 Adobe? Flash? Player。
Flex 与 Flash
在我们的印象里 Flash 只是设计师用来制作动画的工具,但实际上 Flash 也可以构建富网络应用的,但比较复杂。程序员并不习惯使用画图工具,时间轴和可视化面板等来开发富网络应用,Flex 的出现解决了这一问题。有了 Flex,程序员可以使用 Action Script 和 MXML 编程语言快速开发富网络应用。
Flex 对开发者更具吸引力,而 Flash 更多的是吸引设计人员。
Flex 原理
当你编译一个 Flash 程序时,Flash 开发环境把所有的可视化元素,时间轴指令和 ActionScript 中的业务逻辑编译为 SWF 文件。
同样地,Flex 程序中的 MXML 和 ActionScript 代码首先全部被转换为 ActionScript 然后编译为 SWF 文件。当你把 SWF 文件部署到服务器上时,使用者可以从服务器获取到这个程序。
Flex 应用的构建形式
尽管用 Flex 开发 RIA 有多种形式,但现在主流的架构是:Flex 作为 Client(客户端),Java、PHP、Asp、Ruby 等技术作为 Server(服务器端)。
本教程之后的内容主要介绍 Flex 与 Java 技术的整合。
Flex 访问服务器端数据的 3 种方式
既然 Flex 可以和 Java 等 Sever 端技术整合,那么它们之间怎样实现通信的呢?Flex 通过 HTTPService,WebService 和 RemoteObject 这 3 个组件实现与 Server 端的通信。
■HTTPService 组件
HTTPService 组件允许你与 HTTP 服务交互,可以是接收 HTTP 请求和发送 HTTP 响应的任何 HTTP URI。
你可以通过 HTTPService 组件调用任何类型的 Server 端技术,包括 PHP pages, ColdFusion Pages, JavaServer Pages, Java servlets, Ruby on Rails 和 ASP pages。
HTTPService 组件允许你发送 HTTP GET、POST、HEAD、OPTIONS、PUT、TRACE 和 DELETE 请求,并典型的以 XML 形式返回。
■WebService 组件
WebService 组件允许你访问 WEB 服务。不了解 WEB 服务吗?
■RemoteObject 组件(最灵活、最常用的方式)
RemoteObject 组件允许你访问 Server 端对象的方法,例如 ColdFusion components (CFCs), Java objects, PHP objects 和 .NET objects, 并且不需要把对象配置为 WEB 服务。
但这种方式与其他 2 种方式不同,它需要中间件(下一节要讲的内容),此时应用和 Server 端对象之间通过 AMF(Action Message Format) 二进制形式传递数据。
Flex 视频教程
一周学会 Flex3 应用开发视频培训(简体中文字幕)
一周学会 Flex4 应用开发视频培训(英文)
Flex 参考文档
Adobe? Flex? 4 Beta 语言参考(简体中文)
Using Flex 4(英文)
Accessing Data with Flex 4(英文)
ADOBE? FLEX? 4 Tutorials(英文)
ActionScript 3.0 Reference for the Adobe Platform(英文)
Tour de Flex
Flex 相关下载
所有 Flex4 文档(约 60 M)
Flex4 SDK