Ronnie 猫's 一亩三分地

关注前端技术,一直走在追随前端的路上…For Long Time

【转】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

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google+ photo

You are commenting using your Google+ account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s