[注]本文节选自《开源技术选型手册》的RIA篇章。该书已由电子工业出版社博文视点公司出版。 购买请点击这里:http://www.china-pub.com/39918
感兴趣的朋友也可以从InfoQ中文网找到这本书的精选版:http://www.infoq.com/cn/minibooks/open-source-tools-choice
综述
随着
Web
技术的发展以及
Internet
的日益成熟,人们对
Web
应用程序的要求日益提高,希望其承载更多的业务逻辑,帮助人们处理日常生活、工作、学习中的一些问题。后续的,随着无线网络的普及,随时随地通过无线网络访问
Web
站点将成为一种可能甚至必需。但是因为
Web
模型是基于页面的模型,缺少客户端智能机制,所以到目前为止
Web
应用程序对完成复杂应用方面始终跟不上步伐,整体的用户体验效果与桌面应用程序仍然有差距。
传统的
Web
应用程序是基于页面跳转模型的,每一个任务操作由一个或者多个页面组成。典型的,如果某个操作任务是多步骤或者多选项的,那么要么需要一份很长的页面,要么使用分页而让用户在多个页面中跳转。这种处理方式导致用户花费大量的时间在等待页面的跳转和重载刷新,这种缓慢、不自然、混乱的用户体验过程和效果经常让用户感到懊悔和苦恼。另外一方面,传统的
Web
应用程序也无法表达复杂的人机交互过程比如游戏,这种人机交互需要在用户行动、快速移动或者情节不断变化的时候在屏幕上不断的反馈。不断的重载刷新页面肯定是一种最糟糕的处理方式了。
在这种背景下,
RIA
(
Rich Internet Application
)的思维和技术逐渐得到了广泛的支持和应用。
RIA
结合了桌面应用程序的在数据交互、用户界面表现、数据格式编排等方面的优点,又兼有
Web
应用程序的零部署、易于传播等特性,能够有效改善
Web
应用程序的人机交互效果,向用户提供更丰富、更具有交互性和响应更快的用户体验。
与传统的纯
HTML
应用程序相比,
RIA
能够提供一个强劲的技术平台,使浏览器客户端的能力往桌面应用程序中的客户端靠近,不仅适合传统的三层乃至
N
层的开发过程,同时能够和原有的环境集成以延展原有的应用程序而不需要大规模的伤筋动骨的修改和更新。
Macromedia Flex
是比较成功和有效的
RIA
解决方案之一。今天,几乎大部分的浏览器上都安装了
Macromedia Flash
的浏览器插件,大量的
Web
应用程序都或多或少的嵌入了
Flash
的应用。而
Macromedia Flex
则是基于
Flash
的、一个构建
RIA
应用的完整解决方案,其能够使
Web
应用程序具备快速反映能力,并在不同状态与显示之间流畅的过渡,提供毫无中断的连续的工作流;由于搭建在
Flash
平台上,
Flax
在多媒体、视频、流媒体方面有更加突出的表现。更重要的是,
Flex
具有基于标准的架构,使用直观的基于
XML
的
MXML
来定义丰富的用户界面,可以运行于
J2EE
和
.NET
平台,能够与当前
Web
开发工具、方法、设计模式紧密配合。
Openlaszlo
则是一个开源的
RIA
开发环境。使用
Openlaszlo
平台时,开发者只需编写名为
LZX
的描述语言(其中整合了
XML
和
Javascript
),运行在
J2EE
应用服务器上的
Openlaszlo
平台会将其编译成
SWF
格式的文件并传输给客户端展示。从这点上来说,
Openlaszlo
的本质和
Flex
是一样的。
Flash
是任何浏览器都支持的展示形式,从而一举解决了浏览器之间的移植问题。而且,在未来的计划中,
Openlaszlo
还可以将
LZX
编译成
Java
或
.NET
本地代码,从而大大提高运行效率。
与
Macromedia Flex
不同,
Ajax
则是基于
Javascript
客户端脚本、
XMLHttp
对象、
XML
、
XHTML/HTML
和
CSS
等传统
Web
开发技术的另外一个
RIA
解决方案,其更强调基于纯数据的异步交互模式。
2005
年
2
月,
Adaptive Path
公司的
Jesse James Garrett
在其“
Ajax:A New Approach to Web Application
”(
http://www.adaptivepath.com/publications/essays/archives/000385.php
)一文中首次提出
Ajax
概念,极力向
Web
开发人员推荐这种综合使用
Javascript
、
XHTML
和
CSS
、
DOM
、
XMLHttpRequest
、
XML
和
XSLT
的技术。与很多开发人员一样,
Garrett
一直非常羡慕桌面应用程序在用户界面表现、人机交互、数据传输等方面的强大表现力,一直在寻求能够缩小
Web
应用程序在用户体验方面与桌面应用程序的巨大差距的解决方法。由于
Google
在
Gmail
、
GMap
、
Google Suggest
等站点的成功运用,
Garrett
相信
Ajax
就是其一直在寻找的宝贝。
原来的
Ajax
有一个冗长的名字:异步的
Javascript
、
CSS
、
DOM
和
XMLHttpRequest
(
Asynchronous Javascript+CSS+DOM+XMLHttpRequest
)。
Garrett
扮演了“临门一脚”的角色,形象的称之为
Ajax
,即
Asynchronous JavaScript and XML
(异步
JavaScript
和
XML
)的缩写,这个形象简短的名字概括了这种技术的特点。
Ajax
已经引起的全世界的广泛关注和应用,而且,
Prototype
、
Dojo
、
DWR
等
Ajax
框架已经给
Web
应用开发领域带来了实实在在的贡献和影响。
Bindows
也是用
Javascript
和
DHTML
开发的
Web
窗体框架。
Javascript
用于客户端界面的显示和处理,
XMLHTTP
用于客户端与服务器的信息传输。
Javascript
在客户端的表现力不容置疑,利用
Javascript
几乎可以实现
Windows
应用程序所能干的大部分事情,
XMLHTTP
一直以来常被用于实现
"
无刷新
"
的
Web
页面,它和
Javascript
配合,可以完成数据从服务器和客户端的传输。
Bindows
的一个主要的缺点是它采用一次全部载入的方式来实现脚本库,在窗口的加载期,需要一个漫长的等待过程,甚至浏览器的进程会产生无响应的情况。这点
Bindows
根本没有遵循
"
用多少取多少
"
的准则。另外,内部大量利用了
IE6
的技术,没有考虑到非
IE
的浏览器,限制了
Bindows
的流行。
在接下来的内容里,我们选取
Flex
和
OpenLaszlo
两个比较典型、相对成熟的
RIA
解决方案,探讨如何构建
RIA
应用程序。
上手容易程度
|
★★★★★
|
社区活跃度
|
★★★★★
|
应用广泛性
|
★★★★★
|
推荐指数
|
★★★★★
|
作为支持
RIA
的开发、部署一系列发展中的技术和产品线,
Adobe Flex
是
Adobe
在
Flash
基础上面向业界提供的
RIA
解决方案,其中包括
Adobe Flex SDK
、
Adobe Flex Builder
、
Adobe Flex Data Services
和
Adobe Flex Charting
等等。
Flex
向开发者提供一个熟悉的编程模型和一整套的产品和组件,使开发者能够充分发挥
Adobe Flash Player9
的优势,充分发挥
Adobe Flash Player 9
的优势,无缝扩展浏览器的性能,构建高性能、拥有绝佳用户体验效果的
RIA
应用程序,并且无缝的与
ASP
、
JSP
、
PHP
、
ASP.NET
等主流后台语言和架构集成。
Flex
包含一系列可供设计、开发、部署的相关产品,包括:
l
Adobe Flex 2 SDK (Software Development Kit)
l
Adobe Flex Builder 2
l
Adobe Flex Data Services 2
l
Adobe Flex Charting 2
作为
Adobe Flash
技术的承续和发展,
Flex
采用
GUI
界面开发,使用基于
XML
的
MXML
语言,并提供多种组件,可以实现
Web Services
远程调用、远程对象访问、页面组件拖拽、数据网格、图标等等,并内建了动画效果和其他互动机制。相对于基于
HTML
的应用(比如纯
JSP
、
ASP
、
PHT
或者
ASP.NET
)在每个请求时都需要执行服务器的脚本,由于客户端只需要载入一次,
Flex
应用程序的工作流被大大改善了,更加适合于构建快速、具有动画效果、具备良好用户体验效果的
RIA
应用程序。
Flex
试图通过提供一个程序员们已经熟知的工作流和编程模型,让程序员比以前更快更简单的开发动画和
RIA
应用程序。其能够与其他
Web
技术比如
Java
、
.NET
等有效的融合在一起,改善
Web
应用程序在视图层的表现能力,同时利用
Flex
的语言和文件结构把应用程序的逻辑从设计中分离出来。
在
UI
方面,
Flex
提供了包括控制组件、版面、导航、图表等在内的各个类别的丰富的组件,用于帮助开发者基于所见即所得的
IDE
快速构建
Flex
应用程序。
蔡学镛先生在其《
Flash
平台的挑战》一文中将
1990-2010
这
20
年来软件开发的
Framework/API
划分为
5
个阶段:
l
第一阶段
:
GUI
和逻辑混在一起,不管客户端还是服务器端都是一样,比如
MFC
、
Java Swing
和
Servlet
。
l
第二阶段
:
这个阶段中,服务器端的
GUI
和逻辑分开,比如
ASP.NET
和
JSP
。
l
第三阶段
:
在这个阶段,
Web
客户端的互动性增强,比如
ASP.NET
和
Ajax
。
l
第四阶段:
RIA
时代,客户端具有更好的互动性,并且客户端的
GUI
和逻辑分开,且
GUI
改用宣告的方式构建。
RIA
的应用搭配
VM
或者浏览器插件,在浏览器内或者浏览器外都可以执行,比如
Adobe
的
Apollo
或者微软的
WPF
。
l
第五阶段:即
RIA
和
DSL
(
Domain Specific Language
)时代,
DSL
语言取代大部分的
XML
。
就目前而言,以
Flex
为代表的
RIA
解决方案越来越成熟,一些以视频共享、日程编排等为代表性的
RIA
站点也向其用户展示了
RIA
应用程序的魅力。事实证明,
RIA
正越来越受到重视,传统的
Web
应用程序也正在向
RIA
靠近。
作为老牌的多媒体解决方案供应商,
Adobe
在
RIA
解决方案上有独特的优势。
Flash
已经被整个业界所接受,并且得到了基本上所有主流浏览器的支持。因此,相比其他
RIA
解决方案,基于
Flash
的
Flex
推广起来自然容易得多了。
最近,
Adobe
在其官方网站上宣布将把
Flex
开源,将几乎整个
Fle
平台组件在
Mozilla Public License
协议下发布,这其中包括以下几个部分:
l
Flex
编译器
l
Flex
命令行调试工具
l
源码查看工具
l
测试框架
l
Flex
核心组件库,包括
Apollo
组件
l
封装脚本
l
Flex-Ajax Bridge
(将会改用
MPL
协议发布)
随着越来越多的软件产品走入开源模式,事实证明开源对于产品的发展和开发者来说是双赢的。我们有理由相信,随着
Flex
的开源,
Flex
开发者和爱好者可以通过阅读研究
Flex
的源码,更深入的理解
Flex
并进一步增强它,从而利用
Flex
开发出更多更出色的
RIA
应用程序。而对于
Flex
产品本身来说,更多开发者的加入,能够让其拥有广泛的用户群体,并且利用最小的成本得到最佳的完善和发展,加速
Flex
的普及。
★
网站类
(
1
)
Adobe – Flex
开发人员中心
http://www.adobe.com/cn/devnet/flex/
作为官方的开发人员中心,该站点提供了丰富的快速入门、文章和示例,以帮助开发者快速熟悉
Adobe Flex
的各项功能、特性,由浅入深的掌握
Flex
的开发和部署,以及在必要的时候与包括
Java
、
PHP
、
CoLDFusion
等技术无缝集成。
(
2
)
52RIA http://www.52ria.com/
该站点专注于
Flash RIA
开源领域,面向开发者提供优质的
Flash RIA
开源作品、教程和源码。难得可贵的是,
52RIA
提供的
RIA
站点秀,在第一时间向开发者展现了
Flex RIA
的实际应用效果。
(
3
)中国
RIA
开发者论坛
http://www.riachina.com/
中国
RIA
开发者论坛,是全国数一的关于
Flex
的讨论社区,里面隐藏着众多的高手,而且很多已经参加了工作并在实际项目中。
如果读者在
Flex
开发中遇到什么问题,可以在这个论坛找到答案或者寻求帮助。
(
4
)
RIA Dev http://groups.google.com/group/riadev
该站点是基于
Google
论坛的联系两岸三地的关于
Flex/Apollo
的华人论坛社区,它所表现的优势在于只要一提出问题,它将以邮件的方式以最快的速度发到每位成员手中。其目的希望联系全球对
Adobe Flex/Apollo
感兴趣的华人,促进
Adobe Flex/Apollo
在华文世界的发展。
(
5
)
FlexCoders http://tech.groups.yahoo.com/group/flexcoders/
全球最大的
Flex
用户讨论组织,只要是关于
Flex
的问题,读者都可以在这里提出,而且常常回答者都是
Adobe
公司参加或者跟
Flex
相关的工作人员,当然前提条件是要具备良好的英语阅读能力和表达能力。
(
6
)
Flex Components http://tech.groups.yahoo.com/group/FlexComponents/
FlexCoders
的同胞兄弟,这里讨论的侧重于
Flex
控件的问题。
(
7
)
Adobe Flex
实验室
http://labs.adobe.com/technologies/flex/
作为
Adobe Flex
新技术的研发中心,
Adobe Flex
实验室负责
Flex
新版本的研发和发布。自然,从该站点能够了解到最新有关
Flex
的资讯,以及最新版本
Flex
的相关下载。
★
网站类
(
1
)《
Flex
第一步》
http://www.dearbook.com.cn/book/230729
邱彦林
著,清华大学出版社,
2007
年
12
月第一版
作为国内第一本
Flex
的书籍,该书包含“走近
Flex
”、“
Flex
基础知识”、“
ActionScript
和
Flex
”、“
Flex
初级程序开发”、“
Flex
程序实战开发”五个部分,深入浅出的讲述了
Flex
及其
ActionScript
的相关知识,比较适合对
Flex
有兴趣的初学者。虽然对于大多数
Flex
开发者而言,该书在某些内容上不够深入,但将其定位为“入门级”的读物,其表现还是可圈可点。
关于
Flex 2
之前提到,
Adobe Flex
产品线包含
Flex 2 SDK
、
Flex Builder 2
、
Flex Data Services 2
和
Flex Charting 2
。
其中,
Flex 2 SDK
是
Adobe Flex
的核心和基础,其包含
Flex
框架(类库)、
Flex
编译器、
Flex
调试器、
MXML
和
ActionScript
编程语言以及其他扩展,同时包含
Adobe Flex
框架核心类库的源码,用户可以研读这些源码并基于自己的需要进行扩展。
Adobe Flex 2 SDK
可以作为独立的包安装,也集成在
Flex Builder
和
Flex Data Service
组件中。
Flex Builder
集成了
Flex 2 SDK
、
Flex
应用模型和
Flex
编程语言,向开发者提供一个可视化的
IDE
设计、开发、调试环境。值得注意的是,
Adobe
选择
Eclipse
作为
Flex Builder
的平台,能够吸引以
Eclipse
为代表的开源社区的关注和兴趣,充分发挥基于
Eclipse
的大量商业和开源的插件的优势,也有利于延续
Eclipse
用户的开发习惯。与早期的
Flex Builder
版本相比,
Flex Builder 2
提供了一个所见即所得的开发环境,包括视图和源码两种编辑状态,大大提高了开发者的开发效率。如下图所示。
Flex Data Services
则为
Flex 2 SDK
提供企业级的消息支持,并增强
Flex 2 SDK
的数据服务架构,简化了在服务器和客户端之前交互的编程模型。其提供的功能和特性包括:
l
一个允许客户端和服务器端之间或者多个客户端之间同步数据的高层次的编程模型。
l
用于发布和订阅消息的集成服务。
l
基于服务器的自动数据推动和数据流。
l
一个用于集成
JMS
、
Hibernate
、
EJB
和其他数据持久化机制的适配器架构。
l
允许客户端操纵数据源的授权。
l
基于
AMF
协议的远程对象访问。
l
数据服务日志。
值得注意的是,在使用
Flex Data Services
之前,我们需要将其以标准的
Java Web
应用程序部署在
J2EE
应用服务器或者
Servlet
容器中。
Flex Charting 2
提供了丰富的报表模型,包括条状、饼图、线性和其他类型的图表,这些报表可以在客户端动态生成。下图展示了一个用
Flex Charting 2
生成的条状图。
由于
Flex 2
基于
Flash Player 9
运行,所以在开发
Flex
应用程序之前需要先安装
Flash Player 9
。从
Flex
开发人员中心(
http://www.adobe.com/cn/devnet/flex/
)下载
Flash Player 9
的安装文件,其为一个浏览器
ActiveObject
控件。
Flex Builder 2
集成了
Flex 2 SDK
,因此开发基本的
Flex
应用程序只需要安装
Flex Builder 2
即可。从
Flex
开发人员中心下载试用版的
Flex Builder
。双击下载后的
Flex Builder 2.exe
开始安装,选择安装路径后点击“
Next
”。这里需要选择安装模式:
Flex Builder
和
Flex SDK
,或者是
Flex Builder
插件和
Flex SDK
。前者将安装
Flex Builder IDE
、
Flex SDK
、基于命令行模式的
Flex SDK
和可调试的
Flash Play 9
。后者将以
Eclipse
插件的形式安装
Flex Builder
和
Flex SDK
,前提是在本机已经安装了
JDK
和
Eclipse
(
JDK
和
Eclipse
的安装请查阅相关文档),如下图所示。
安装成功后,启动
Eclipse
,点击“
New
”
-
“
Project
”,即可在“
New Project
”窗口中看到“
Flex
”项,包括
Flex Library Project
和
Flex Project
两个子项。如下图所示。
MXML
和
ActionScript
与
HTML
类似,
MXML
是在
Flex
应用程序中用作版面规划和布局的
XML
语言,
Flex Builder 2
能将
MXML
文件编译为相应的
Swf
文件。
MXML
提供了提供了一系列与
Flex
框架类对应的标签,以帮助开发者构建可视化的页面元素,比如容器、导航器和其他
UI
控件。
MXML
同时也被用来定义一些不可见的特性,比如访问网络资源、访问数据源、数据绑定等等。
ActionScript
则是基于
ECMAScript
、与
Javascript
类似的另一个
Flex
编程语言,其提供
MXML
所无法提供的流控制、对象操作、与客户端交互等特性。
MXML
与
ActionScript
结合,构成
Flex
应用程序基本的编程模型。在
Flex
应用程序中,每一个
MXML
文件代表一个单独的
Flex
页面。下面的代码段使用
MXML
和
ActionScript
语言构建一个简单的
Hello World
页面。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import flash.events.MouseEvent;
private function MyButtonClicked(event:MouseEvent):void {
myLabel.text = "Hello, the world.";
}
]]>
</mx:Script>
<mx:Panel title="My Event Handler" width="100%" height="100%"
horizontalAlign="center" paddingBottom="10" paddingLeft="10" paddingRight="10" paddingTop="10">
<mx:Label id="myLabel" width="100" fontWeight="bold" fontSize="13"/>
<mx:Button id="myButton" label="Click me!" click="myLabel.text='Hello, the world.';"/>
</mx:Panel>
</mx:Application>
接下来我们通过一个
Hello World
示例演示一个简单的
Flex
应用的开发过程。
启动
Eclipse
,选择“
New
”
à
“
Project
”
à
“
Flex Project
”,点击“
Next
”后在“
New Flex Project
”对话框中选择“
Basic
(
e.g. XML or web service from PHP/JSP/ASP.NET
)”选项,点击“
Next
”后输入项目名称(这里设置为
MyFlexApp
),新建一个基本的
Flex
应用程序。
Eclipse
将打开默认的
Flex
设计视图窗口,如下图所示。编辑窗口分为项目导航区域、
Flex
组件区域、项目编辑设计区域、控制台区域、属性和状态区域等几个部分,这点与普通的
Java
应用程序类似。
创建成功后,
Eclipse
将新建一个完整的
Flex
应用程序结构,包括
.setting
、
bin
、
html-template
三个文件夹以及一个默认的
MyFlexApp.mxml
文件。
Flex
将每一个
mxml
文件视为一个单独的页面,每一个
mxml
文件最后将被编译为对应的
swf
文件。
从
Flex
组件区域拖动一个
Button
控件到设计区域,在属性区域中设置其
ID
为“
myButton
”,
Label
属性为“
Click Me!
”。拖动一个
Label
控件到设计区域,将其
ID
属性设置为“
myLabel
”。
点击项目编辑设计区域左上角的“
Source
”按钮,切换到源码视图。此时
MyFlexApp.mxml
的内容如下所示。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Button x="312" y="96" label="Click Me!" id="myButton" enabled="true"/>
<mx:Label x="334" y="145" text="Label" id="myLabel"/>
</mx:Application>
MyFlexApp.mxml
符合标准的
XML
格式,以
<mx:Application>
作为根节点,其内容包含页面中所涉及到的
UI
组件以及必要的
ActionScript
代码。我们注意到,刚才拖入的
Button
控件和
Label
都包含了
x
和
y
属性,这两个属性用于控制该控件在页面中的相对位置。
为
myButton
设置
click
事件,其响应代码为“
myLabel.text=’Hello, the world.’;
”。修改后的
MyFlexApp.mxml
代码为:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Button x="312" y="96" label="Click Me!" id="myButton" enabled="true"
click="myLabel.text='Hello, the world.';"/>
<mx:Label x="334" y="145" text="Label" id="myLabel"/>
</mx:Application>
即当点击
myButton
按钮的时候,将
myLabel
的文本替换为“
Hello, the world.
”。鼠标右击
MyFlexApp
项目,选择“
Run As
”
à
“
Flex Application
”,运行
Hello World
范例,其结果如下图所示。
在上面的应用中,我们将
Button
的响应事件和控件的代码写在一起。
Flex
支持将与响应事件有关的代码剥离出来,包括剥离到
ActionScript
区域或者独立的
as
文件中。下面的代码段将
Button
的
Click
事件剥离到
ActionScript
区域。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
private function MyButtonClicked(event:MouseEvent):void {
myLabel.text = "Hello, the world.";
}
]]>
</mx:Script>
<mx:Button x="312" y="96" label="Click Me!" id="myButton" enabled="true"
click="MyButtonClicked(event);"/>
<mx:Label x="334" y="145" text="Label" id="myLabel"/>
</mx:Application>
通常,
Flex
应用程序开发的步骤如下所示:
l
使用
Flex
预定义的组件(窗口、按钮、容器、网格等),按照需求定义一个用户界面。
l
使用风格和主题来定义可见的设计。
l
增加动态动作,如应用程序之间的互动。
l
定义并在需要的时候连接相应的数据服务。
l
从源码生成一个可以在
Flash
播放器中运行的
Swf
文件。
Adobe
于
2004
年
3
月发布
Flex1.0
版本,随后与童年的
10
月发布
Flex1.5
版本,这两个版本的目标市场都是企业应用开发。其最初是作为一个
J2EE
应用,或者是
JSP
标签库而发布的,能够就爱能够运行中的
MXML
和
ActionScript
编译成为
Flash
应用程序即二进制的
Swf
文件。
Flex1.5
是企业级的表现层服务器,用户将所编写的
MXML
文件上传到服务器,由
Flex
编译器将
MXML
编译成
Swf
文件,从而创建表现层界面。或者直接在本机编译
MXML
文件,然后上传
Swf
文件。
Flex1.5 IDE
基于
Dreamweaver
提供,实现了设计和代码视图、高亮语法显示、代码锁紧、应用预览等基本的
IDE
功能。
2005
年
10
月,
Adobe
开放了其
Alpha
本本的
Flex2.0
,并在经历了三个
Beta
版本后于次年的
5
月份发布了
Flex 2.0 Final
版本。随后,
Adobe
改变
Flex2
的许可模式,免费开放其中的“
Flex Framework
”。不同的是,新版
Flex Builder2
基于
Eclipse IDE
构建,充分利用
Eclipse IDE
的功能和特性,为
Flex
爱好者提供高效的开发、测试和部署环境。
2007
年
6
月,
Adobe
发布了
Flex 3 SDK
和
Flex Builder 3 Beta
版本,同时将
Apollo
更名为
Adobe Integrated Runtime
,即
Adobe AIR
。
Flex 3 Beta 3
是
Flex 3
的最后一个
Beta
版本,其中包括
Flex Builder 3 Beta 3
、
Flex SDK 3
等。与其他版本相比,
Flex3
改进和更新的部分特性包括:
l
对设计
/
开发流程的改进
Flex 3
中提供了
Skin Importer
,可以缩放、旋转设计视图,可以显示
ItemRenderer
的设计视图,
Advanced Constraints
、
CS3
整合、
CSS
概要以及
Flex 3 SDK style/skinning
等诸多改进。这些改进使得整个设计
/
开发流程更加简单,
Flex
程序的
Skinning
功能也更加强大。
l
对编码环境的改进
这次改进提高了编译速度,缓存已编译的类,提供更强的
AS3/MXML/CSS
语法提示、代码查找、重构、代码摘要、内存测量、性能测量等功能,增强了模块机制以及多个
SDK
支持等等。
l
对
Flex
组件和
SDK
的改进
提供了更多的类、组件和功能,比如
AdvancedDataGrid
、新的集合类、深层链接接口、资源包、动态本地化、支持容器的
Flex Component Kit for Flash CS3
等等,并且加强了与
Ajax
的整合,提供了高级视觉效果和对复杂的资源管理。
l
显著的减少
Swf
文件的大小
由于支持对
Flash Framework
的缓存,
Flex
编译器所生成的
Swf
文件大小显著减小。
作为一个典型的
RIA
解决方案,
Flex
可以说是目前最优秀的。从
Flex 1.0
到现在被普遍接受的比较成熟的
Flex 2.0
,
Flex
逐渐证明了
Adobe
在
RIA
领域的领跑者地位。将来随着
Flex 3
的推出,可以预计
Adobe
将继续在
RIA
领域处于领先的地位。
需要指出的是,目前
RIA
的应用毕竟还是在相对有限的范围,
Adobe
依然需要在培育市场和开发者上多下功夫。最近
Adobe
将
Flex
开源,就希望借助开源社区的力量推动
Flex
的快速发展。不过目前
Flex Builder 2
依然采取免费试用
+
收费的模式,这在一定程度上限制了吸引力。而且与其他成熟的
IDE
相比,
Flex Builder 2
在编译、人性化、易用性等方面依然存在差距,这方面还需多加努力。
posted on 2008-08-01 14:55
eamoi 阅读(3567)
评论(0) 编辑 收藏 所属分类:
AJAX