Flex4系列教程之二 – Flex4

本系列教程目标:使初学者了解富网络应用概念,理解并掌握以下四种架构方法。
1. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + Cairngorm
2. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + Cairngorm
3. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + pureMVC
4. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + pureMVC

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

 

[声明:]
本文图片出于
Understanding Flex in the client/server model
一文,感谢原作者的付出。

Tagged
BlazeDS,
Cairngorm
,
Flash Builder
,
Flex
,
Flex教程
, iBATIS,
mybatis,
pureMVC
, RIA,
Spring Framework

发表评论

邮箱地址不会被公开。 必填项已用*标注

昵称 *