本文和大家重点讨论一下Flex程序设计基础,Flex技术对软件开发人员的要求并不苛刻,MXML和ActionScript都遵循技术标准,用相对简单的代码就可以完成绚丽高效的Flex应用程序。
Flex程序设计基础
Flex是一种RIA开发技术,具有更好的网络交互能力,更加绚丽的表现效果,同时在企业级的扩展上也游刃有余。Flex技术对软件开发人员的要求并不苛刻,MXML和ActionScript都遵循技术标准,用相对简单的代码就可以完成绚丽高效的Flex应用程序。
作为Flex技术的组成部分,FlexCharting让我们可以灵活地进行图表编程,FlexDataService让我们可以将Flex应用程序部署成为企业级应用。
FlexBuilder是一个实用的集成开发环境,通过这个环境,可以高效地完成Flex程序的编写。
1.1RIA概述
本章内容介绍Flex程序设计的背景和技术特点,并通过示例程序来展示Flex的界面效果和技术内涵。
Internet已经是我们生活的一部分,而“看网页”可以说是网络浏览者与Internet最简单的沟通方式。打开浏览器,进入一个网站浏览,这就是浏览者们看到的最直观的Internet的外表。尽管页面上不是单一的文字,但也仅仅是“页”。然而如今这些传统的呆板的“页”已经不再能满足网络浏览者的要求了。多媒体、多元化的信息表现在一个页面上,的确很是单薄。
另一方面,开发人员也一直在为过分依赖于页面刷新、请求响应等诸多传统网页开发技术固有的问题而烦恼。当然我们不能忽略B/S架构能够取代C/S长期大行其道有一个重要的因素,就是网络带宽问题。
传统网页内容简单,节省网络带宽的优势是与生俱来的,而如今网络技术在不断地发展,软硬件发展又达到了一个并驾齐驱的时期,软件系统已经不需要等待硬件的发展而发展。有了强烈的需求,又有了充足的硬件基础,新技术应运而生,RichInternetApplication(RIA)的出现给网络浏览者和开发人员都带来了全新的体验。
RichInternetApplication即是富因特网应用程序,其特点也体现在一个“富”字上,传统的HTML页面带给用户的页面元素是极其有限的,输入框、选择框、下拉框等无法替换的元素,恐怕早就对浏览者带来了审美疲劳,更何况在功能上也存在着很大不足。对比传统页面,RIA的界面是“富”的,基本上一个桌面程序能表现出来的效果,RIA都能表现。
图1.1中的网站是一个名为scrapblog的博客网站,与我们常见到的博客网站不同,这个网站使用一种RIA技术构建,在页面表现力和交互性上都远远超过了常见的博客网页。
如果说RIA的优势仅仅是丰富的界面表现能力的话,那么大家会认为这不过就是个C/S架构,RIA的另一大特点也正是与C/S架构最大的不同:数据上的“富”。传统的网页开发基于HTTP协议,数据的交互依赖于请求/响应机制;界面的交互则需要进行页面的跳转和刷新。RIA的处理则有很大不同,在客户端可以进行完整的数据处理,与用户的交互更加友好、更加迅速;界面交互并不依赖页面,消息通过异步请求传递,面向用户界面中的各个小模块,客户端的模块之间关系清晰,处理起来更加灵活。
对于企业级应用来说,RIA技术并不需要替换掉现有的体系结构模型,如JavaEE(以前称J2EE)、.NET架构等。RIA技术通常可以和企业级应用体系结构很好地进行整合。将原有的系统构建成更易用、更直观、更迅速的“网页应用程序”。在不会影响到原有应用的前提下,RIA技术对表现层进行了大幅度的增强,进一步提升界面的友好程度,并且减少了用户与系统的远程交互频率,减少了带宽需求。
RIA开发技术已经有很多种,Adobe公司的Flex发展日趋成熟,微软公司的SilverLight及Sun公司的JavaFX也崭露头角。Flex技术的优势得天独厚,有强大的Flash平台作后盾,SilverLight和JavaFX在RIA的实现上则各有侧重,SilverLight作为一个浏览器插件支持广泛,而且对于JavaScript和微软的.NET技术无缝结合,而JavaFX体系不仅希望利用编写更容易的JavaFXScript取代JavaScript,更是提供了JavaFXMobile,为手机及移动设备增加了应用程序支持。
1.2Flex简介
Flex程序设计是一种基于标准编程模型的高效RIA开发产品集,最初由Macromedia公司在2004年发布,后被Adobe公司冠以商标。Flex最大的特点是基于全球流行的网络动画平台——MacromediaFlash。2000年以来,Flash动画愈发火爆,“闪客”们的作品为Internet增添了绚丽的色彩,而Flash的播放器FlashPlayer已经成为浏览器上首选的不可或缺的插件,为了看到页面中生动的Flash动画,大部分浏览者都会安装FlashPlayer。通过Flex技术,开发人员可以将RIA程序编译成为Flash文件,为FlashPlayer所接受,也就是说,Flex技术所开发出来的程序对于大部分浏览者而言并不需要安装额外的客户端支持,这是一个得天独厚的优势。
“基于标准编程模型的高效RIA开发产品集”,这是Adobe公司对Flex技术的官方定义。下面我们就来进行详细的分析。
一个完整的Flex程序由MXML代码和ActionScript代码组成。MXML基于XML标准,用于配置和设计Flex程序的界面及编写表现层数据模型;ActionScript基于ECMAScript,原来用于设计Flash动画,其语法规范类似于JavaScript。这样两种基于W3C标准的开发语言就构成了Flex程序,两种语言的关系类似于HTML和JavaScript,这样一来(尤其对于传统网页开发者来说),Flex根本没有什么门槛。
Flex3是Flex程序设计的一个成熟版本,它的产品集包含以下几部分。
1.AdobeFlex3SDK
FlexSDK是Flex产品集中最基础的也是必需的组件,使用其他组件必须在SDK的基础上,单独通过SDK就可以完成常用的程序设计。
2.AdobeFlexBuilder3
FlexBuilder是一个基于Eclipse的集成开发环境,通过FlexBuilder可以对程序进行所见即所得的界面设计,并支持MXML和ActionScript的智能编写,可以在很大程度上提高Flex开发的效率。
3.AdobeLiveCycleEnterpriseSuite
LiveCycleES是Flex企业级开发部署套件,以应用于企业级组件,使得Flex可以部署到JavaEE应用服务器上。
Flex3SDK的系统需求如下。
Windows平台:Windows2000,XP,Server2003,Java1.4~1.5
Macintoshi平台:MacOSXv.10.4.x,Java1.5
Linux平台:RedHatEnterpriseLinux3~4,Suse10,Java1.4~1.5
Solaris平台:Solaris9,10,Java1.4~1.5
处理器需求:IntelPentiumII450MHz或更快/PowerPCG3500MHz或更快/Modernprocessor(800MHz或更快)
内存需求:512MBRAM(推荐1GB)
硬盘需求:200MB可用硬盘空间
【编辑推荐】
- Flex页面跳转实现的几种方式
- FlexBuilder4十大新特性闪亮登场
- Flex框架中Cairngorm和Mate的优点大比拼
- FlexBuilder3.0与Eclipse3.4的完美结合
- 解析Flex应用开发步骤 新特性和技术框架