Saturday, February 7, 2009

基于Flex的RIA开发(基础篇)---Flex介绍及RIA引入

更多精彩请到 http://www.139ya.com

转自: http://bbs.cgtop.org/showthread.php?t=37923

------------------------------------------------------------------------------
----以下内容为原创(介绍部分有个别内容源自其它资料),转载请注明---来自CGTOP---谢谢!
------------------------------------------------------------------------------


RIA是Rich Internet Application 的简称,也称富因特网应用程序,是由Macromedia(现Adobe)最先提示的概念,以示与传统Web应用程序相区别。

在谈到Flex的开发之前,先谈谈相关的背景及Adobe Flex的介绍。。。好让大家有所了解



背景:


先看下面的一张图。






解释下这张图:

上图展现了整个应用程序架构经历了几次重大的转变,在此过程中,客户端的表现功能有起有落,上图展现了每个阶段的计算机功能所带来的应用程序体验方面的变化,这一过程从大型主机开始,一直到丰富互联网应用程序的出现为止。


基于主机的应用程序:由基于主机(可以是大型机或小型计算机)的计算发展而来的交互式应用程序。推动此阶段计算的商业需求来自于企业内部业务自动化,如工资表等。应用程序在内部的专用网络间进行本地发布,用户界面的丰富性仅限制在文字范围内。


客户/服务器应用程序:客户/服务器应用程序发展很快,这是因为需要对企业组织内部的信息及应用程序进行部门级的访问。仍然可以在企业组织内部本地访问应用程序,但随着图形用户界面的出现及客户端处理的应用,应用程序的丰富性大大提高了。


Web应用程序:Web应用程序的全局性应用,以及基于主机集中管理应用程序的模型,解决了客户/服务器模型的主要限制,但对用户来说,这需要巨大的投入。从处理的角度来看,Web应用程序模型将客户端变为虚拟终端。用于提供最佳用户体验的主要交互问题消失了。这些主要问题包括直接控制、客户端处理及局部存贮等。


为了能处理更复杂的多媒体应用,改善用户的交互体验,出现了一种新型的Internet应用程序:丰富互联网应用程序(RIA:Rich Internet Application),这类应用程序将传统的桌面应用程序的快速响应和高度互动,与网络应用程序的广阔传达范围和简单发布结合在一起,通过简化和改进用户与网络应用程序的互动,以实现更丰富、更多互动和更快响应的用户体验。


Adobe Flex介绍:
目前RIA开发的技术还是有不少,主要有,Adobe Flex、Ajax、WPF、OpenLaszlo、Google Web Toolkit、Java SWT、XUL及前不久Sun推出的JavaFX。

偶这里主要介绍Adobe Flex,呵呵!

正如前面所说,RIA(Rich Internet Application)一词由Macromedia(已并入Adobe)早在2001提出,而Macromedia Flex则正是为了满足希望进行RIA开发的程序员的需求而推出的表示服务器和应用程序框架。

2005年Adobe收购Macromedia,同年10月推出Adobe Flex2.0 Alpha,2006年6月28日Flex 2.0正式版推出,全新的Flex2引入新版的ActionScript3.0语言,并需要Flash Player 9或以上版本作为运行时环境。

Flex 框架是基于组件的开发框架,用于交付可由 Flash Player 运行的丰富互联网应用程序。 Flex 将基于标准的语言和各种可扩展用户界面及数据访问组件结合起来,使开发人员能够快速构建具有丰富数据演示、强大客户端逻辑和集成多媒体的应用程序。 使用 Flex 构建的应用程序能够在所有常见桌面平台上运行,支持对应用程序外观进行完全自定义,并支持各种连接到后端数据和服务的方法。Adobe Flex 2 可以在企业内部或在Web上创建并交付丰富互联网应用程序 (RIA),是一套完整、强大的RIA开发解决方案。它使企业能够创建个性化的丰富多媒体应用程序,极大地提高用户的体验,彻底革新与Web的交互关系。



上面显示的是最新的Flex Builder 3的启动画面,目前是beta版,其开发代号为Moxie。当然IDE不一定要用Flex Builder,可以使用Eclipse + Flex 插件进行开发。

偶后面要写的教程主要也是使用Eclipse + Flex插件的方式,教程用的是目前稳定的Flex 2来完成。(感觉使用Eclipse的方式要快点,估计是jvm版本比较高的原故,另外使用Eclipse进行Java与Flex的结合开发也方便些)!

说了一大堆,相信大家有点烦了,对RIA也只是概念上的一个了解,下面给大家看几个RIA的应用实例,相信大家对RIA就有比较清楚的认识了(因为偶后面主要写Flex的教程,故示例多为使用Flex来完成的,在图下面我会标出使用的相关技术)

RIA应用实例,配上截图和地址以方便大家:


著名的Google Map
主要使用技术:AJAX
地址:http://maps.google.com





Yahoo Map
使用技术:Adobe Flex
地址:http://maps.yahoo.com/beta/



Home locater
使用技术:Adobe Flex
地址:http://www.asfusion.com/apps/homelocator/




DashBoard(Flex 自带的Sample)
使用技术:Adobe Flex





Adobe Flex Developer Center
http://www.adobe.com/devnet/flex/

Flex组件开发讨论区
http://tech.groups.yahoo.com/group/flexcomponents/

Flex Cookbook在线

http://www.adobe.com/cfusion/communi...ge&productId=2

Flex在线文档:
http://www.adobe.com/livedocs/flex/2/

文档有离线的pdf下载,大家可去官方找找,地址偶就不给出了^_^(学会找资源也算一个能力了哈!!!)


Adobe官方的RSS聚合,简称MXNA:

http://weblogs.macromedia.com/mxna/

No comments: