预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

浅谈基于Flex的RIA技术实现完美的WEBGIS开发 胡晓婷 (西北大学城市与资源学院陕西西安710127) 摘要:随着计算机网络技术的高速发展,互联网已经日益成为应用程序开发的默认平台。但是,在当今的GIS领域中,用户对GIS系统要求越来越高,如在用户有复杂交互、地图无缝平滑缩放等需求的时候,传统的Web技术很难满足用户的要求。Flex(最新版名为FlashBuilder)是优秀的RIA开发技术之一。本文首先分析RIA相比传统Web应用的优势,引入基于RIA的Web开发平台;然后结合Flex的特点基于ActionScript脚本语言和MXML标签语言,对FlexRIA的软件框架、设计模式以及数据交互等进行探讨;最后引用一些实例,展示基于Flex的RIA技术和REST架构实现完美的WebGIS开发,并对RIA的发展趋势浅谈GIS的发展方向。 关键字:RIA,Flex,MXLM,ActionScript脚本语言,WebGIS开发 1引言 随着计算机网络技术的告诉发展,面对日新月异、纷繁复杂的新技术、新方法,对于正处于转型期的GIS技术,我们很难预测它在未来十年内的走向,但是,回顾其发展历程启发了我们一下几点:首先,目前推动IT技术进一步发展的驱动力有:硬件性能、网络宽带和微型化;其次,IT发展历史从大型机到小型机再到微型机,从基于主机模式到C/S模式再到B/S模式的开发模式,经历了几次系统结构方面的重要转变,从面向专家型到面向大众化普及,几十年的发展,极大地推动了世界的进步且丰富了我们的生活。 在这一发展过程中,用户界面表现形式也从DOS到桌面再到Internet,它随着应用需求的日益复杂性进一步向前发展。而现在的发展趋势即是互联网软件在向客户端整合、客户端在向互联网融合。RIA作为一个互联网领域越来越火的术语,究其根本在于它相对传统Web应用的诸多优势。RIA作为“富互联网应用”的代名词(RichInternetApplication),从名字上就已经可以看出它最大的特点:Rich,这个Rich是多方面的,包括丰富的表现力、富有交互、内容丰富、基于富客户端引擎等等。采用丰富互联网应用程序技术,网络应用程序可以提供更具有交互性和响应性的用户体验,其研究是非常有意义的。AdobeFlex则是一套完整的综合性RIA技术解决方案,Flex提供了一种高效的开发模型,能够很容易地与过去很多年积累下来的标准及最佳实践相集成。Flex开发模型使用MXML来设计和布局用户界面,ActionScript来创建客户端逻辑。因此RIA时代已经到来,对该技术进行学习和研究,构架新时代完美的WebGIS系统是十分有必要的。 2RIA介绍 2.1RIA相比传统Web应用的优势 传统Web应用的很多不足都来源于HTML的静态性,虽然由于JavaScript脚本的存在可以在浏览器中实现一些客户端交互和效果;同时,Web2.0浪潮推广的AJAX技术也使浏览器和服务器的通讯更及时、页面表现也更友好。但是,传统Web的根基使这些进步都是局限的,在声音、视频、Socket通讯、本地存储这些方面它都捉襟见肘。 RIA则在某种程度上颠覆了传统Web应用的理念和设计。为了能提供客户端更优秀的表现和交互能力,RIA一般会在客户端添加一个引擎,这个引擎和Java虚拟机的作用很相似,RIA则会在返个引擎中运行所有编译过的脚本及相关的资源。通过这个引擎的中介作用,RIA就把传统Web应用中很多在服务器上执行的功能(比如输出页面)转移到了客户端。一方面减轻了服务器的压力,另一方面也提高了客户端的处理和交互能力。 通常,RIA一般会提供比较出色的表现能力,这也是RIA之所以被称为“Rich”的最重要原因。传统的Web页面即使通过JavaScript脚本的帮劣也很难达到RIA能做到的页面效果和功能,特别是GIS领域,在用户有复杂交互、地图无缝平滑缩放等需求的时候,RIA的这个优势尤其突出。由于RIA在表现方面的特色,用户在RIA与传统Web站点之间能感到明显的体验上的差距,返是RIA受欢迎的重要因素之一。 另外值得一提的是RIA的标准性。传统Web应用在面向不同的操作系统和浏览器的时候,呈现出的页面可能千差万别;RIA则不同,由于操作系统或浏览器中都会有一个客户端引擎来运行我们的RIA,因此在各种支持的操作系统和浏览器中都没有差别,也就是说,你设计好的RIA在各种环境下表现地都会很标准。 总的来说,RIA相比传统Web应用的优势主要集中在以下几点: eq\o\ac(○,1)具有更加丰富的界面,在不重载界面的情况下可提供更多迷人的用户体验; eq\o\ac(○,2)可向用户提供由用户事件触发的实时反馈和验证; eq\o\ac(○,3)可实现与传统桌面应用程序一致的感官