RIA富客户端
- 格式:docx
- 大小:21.28 KB
- 文档页数:5
Flex概述Adobe® Flex™是Adobe公司推出的多平台的RIA(Rich Internet Applications)开发产品。
它包含了一系列技术和产品,如Flex Framework、Flex Builder、Flex Charting、Adobe LiveCycle Data Services ES等。
本章将详细介绍Flex和Flex技术;对比Flex应用与传统网页应用;学习Flex包含的各个元素,以及它们的工作原理。
1.1 RIA概述学习Flex首先要了解RIA技术。
RIA(富互联网应用程序)是企业级应用程序客户端的最新技术,具有高度的用户互动性和丰富的用户体验。
RIA技术的出现是在企业级应用程序经历了几次系统构架方面的转变的必然结果。
企业级应用程序最初的模式是客户机/服务器(Client/Server,C/S)应用程序。
20世纪90年代随着Windows的出现和客户端处理能力的增强,出现了客户机/服务器应用程序。
它采用图形用户界面,客户端的数据处理能力比较强。
但由于受到使用局域网的限制,客户端应用程序需要进行不断的更新,因此其应用范围存在很大的局限性。
20世纪90年代中期,互联网飞速发展,出现了浏览器/服务器(Browser/Server,B/S)应用程序。
Web技术的使用解决了C/S应用程序问题,但由于使用了HTML页面形式的用户界面,客户端的数据处理能力较C/S应用程序有所减弱。
RIA技术的出现重新平衡了客户端和服务器端的关系。
RIA是B/S技术在客户端的突破发展,它是集桌面应用程序的最佳用户界面功能与Web应用程序的普遍采用和快速、低成本布署以及互动多媒体通信的实时快捷于一体的新一代网络应用程序。
RIA大致包括了Flex、Ajax、WPF、OpenLaszlo和Google Web Toolkit等一系列产品,而Flex是同类产品中最领先和成熟的产品,改善了用户体验。
富互联网应用(RIA)指南富互联网应用(RIA)RIA:全称为Rich Internet Applications,即富互联网应用,传统的网络应用程序将所有交互应用都集中在基于“瘦”客户端的C/S架构上。
在这样的系统中,所有处理操作均在服务器端执行,客户端仅仅是用于显示静态的信息内容(如HTML)。
这种系统最大的缺陷是所有的交互操作都必须经由服务器端进行,首先客户端要将请求数据上传至服务器端,然后服务器端作出响应并传回结果,最后客户端在重载响应信息。
而通过使用在客户端执行指令的客户端技术,RIA可以有效的避免延时,实现程序与用户操作的同步。
这种差异有点类似于“终端与主机”或C/S结构与“胖”应用系统的差异。
随着时间的迁移,互联网标准正在逐渐地改变着,从而以适应这种新技术,所以也就很难为丰富型互联网应用程式划定出一个明确的概念范围。
但是,所有的丰富型互联网应用程式都有一个相同的特征:它们在客户端与服务器端之间引入了通常被叫做“客户端引擎”的中间代码层。
这种客户端引擎通常作为应用初始化的一部分被下载,也可能随着应用的运行在后续代码中作为补丁被下载并补充进来。
客户端引擎充当浏览器的一个扩展,而且通常还会接管呈现用户界面和与服务器端进行通信的职责。
RIA概述RIA 具有的桌面应用程序的特点包括:在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特性如拖放式(drag and drop)以及在线和离线操作能力。
RIA具有的Web应用程序的特点包括如:立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准。
RIA具有通信的特点则包括实时互动的声音和图像。
客户机在RIA中的作用不仅是展示页面,它可以在幕后与用户请求异步地进行计算、传送和检索数据、显示集成的用户界面和综合使用声音和图像,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。
富互联网应用程序(RIA)研究初探简介富互联网应用程序(Rich Internet Applications,简称RIA)是一种使用网络技术来开发和部署,具备类似桌面应用程序的交互和功能的应用程序。
RIA通过将应用程序的界面逻辑和数据处理逻辑分离,实现了更好的用户体验和操作效果。
本文将初探富互联网应用程序的研究,包括RIA的定义、优势和发展趋势。
一、RIA的定义富互联网应用程序(RIA)是一种通过使用网络浏览器来访问和使用的应用程序,它充分利用了HTML、CSS和JavaScript等技术,提供类似于桌面应用程序的交互和功能。
与传统的Web应用程序相比,RIA更加响应快速且用户友好。
RIA通常将应用程序的界面逻辑和数据处理逻辑分离,通过客户端和服务器之间的异步通信,实现了更好的用户体验和操作效果。
RIA的设计目标是提供与桌面应用程序相似的用户界面和交互方式,同时保持在浏览器中运行的便利性。
二、RIA的优势相比传统的Web应用程序,RIA具有以下几个优势:1.更好的用户体验:RIA通过使用AJAX等技术实现了页面部分刷新和异步加载,提高了用户界面的反应速度,使用户感觉更加流畅和自然。
2.更高的交互性:RIA可以像桌面应用程序一样提供丰富的交互效果,例如拖放、动画效果等,增加了用户与应用程序的互动感。
3.离线访问支持:RIA可以在离线状态下继续使用,用户可以在没有网络连接的情况下访问和操作应用程序,增强了用户的便利性。
4.跨平台支持:RIA不依赖于特定的操作系统和硬件平台,可以在各种终端设备上使用,包括桌面电脑、手机和平板电脑等。
5.易于开发和部署:RIA使用通用的Web技术,如HTML、CSS和JavaScript等,开发和部署成本较低,同时具备良好的可维护性和扩展性。
三、RIA的发展趋势1.移动化:随着智能手机和平板电脑的普及,移动应用程序的需求不断增加。
RIA将在移动设备上的表现得到进一步优化,并提供更好的跨设备兼容性。
JavaEE的富客户端技术复习题1.看课件、看例题。
2.目前有哪些技术可开发RIA程序。
RIA是Rich Internet Applications的缩写,翻译成中文为丰富的因特网应用程序. RIA最突出的特点为“Rich”,以下技术可以开发RIA:1) Adobe Flash/Flex 2) Laszlo 3) Avalon 4) Java SWT 5) XUL 6) Bindows7)JavaFX 8)Curl 9)SilverLight 10)ActiveX 插件 11)HTML5 12) MUILIB3.JavaFX图形的Chaining行为有什么作用,以常用的图形说明Chaining行为。
JAVAFX把一个特效Effect作为另一个特效的输入setInput(),叫做链接Chaining属性叠加final Circle sphere = CircleBuilder.create().centerX(100).centerY(100).radius(20).fill(gradient1).build();4.JavaFX的Binding绑定有几类,有什么含义,以常用类型举例说明。
三种方式:双向绑定,高级绑定和低级绑定。
双向绑定的例子:Contact contact = new Contact("John", "Doe");StringProperty fname = new SimpleStringProperty();fname.bindBidirectional(contact.firstNameProperty());StringProperty lname = new SimpleStringProperty();lname.bindBidirectional(stNameProperty()); 高级绑定的例子:final IntegerProperty width = newSimpleIntegerProperty(10);final IntegerProperty height = new SimpleIntegerProperty(10);NumberBinding area = width.multiply(height);低级绑定的例子:final DoubleProperty radius = new SimpleDoubleProperty(2);DoubleBinding volumeOfSphere = new DoubleBinding(){{ super.bind(radius); }@Overrideprotected double computeValue() {return (4 / 3 * Math.PI * Math.pow(radius.get(), 3));}};详见书40页5.JavaFX的FXML怎样加载,怎样共享变量,怎样定义函数,怎样加特效,怎样用CSS等。
富互联网应用程序(Rich前言富互联网应用程序(RichInternetApplication,RIA)或Web应用程序是一些特殊的Web站点,它们使Web浏览器和标准桌面应用程序之间的界限变得模糊。
通过GoogleGmail、Yahoo!Mail和MicrooftWindowLiveHotmail这样的Web站点管理电子邮件十分简单和直观与使用MicrooftOutlook或AppleMail这样的桌面电子邮件客户端没有什么区别。
当执行操作时,Web页面不应该刷新,并且如果邮件服务器接收到新的消息,该消息应该立刻显示在收件箱中。
构建以这种方式运行的Web站点被视为脱离传统的Web模型。
在传统的Web模型中,诸如提交表单或单击链接以刷新在线论坛,从而查看最新的帖子这样的操作被视为标准行为。
这种区别导致一些人将这些RIA称为Web2.0,如同对Web进行升级一样。
这些RIA确实在一些方面进行了升级,但并不是升级Web本身,而是对用来浏览站点的Web浏览器进行了改进。
在过去几年中,每种主要的Web浏览器都逐渐添加了各种新功能。
此外,不同浏览器制造商实现一致性的尝试表明,通过JavaScript和标准化文档对象模型(DocumentObjectModel,DOM)脚本的强大功能,最终可以使用从Web服务器动态加载的数据实时更新页面。
Web不再是一个静态的世界。
编写本书的主要目的是帮助您利用JavaScript的强大功能来向页面添加动态组件,从而创建自己的RIA(假设您已经具备HTML、CSS和JavaScript方面的一些知识)。
然而,功能越强大,需要担负的责任就越重。
本书重点强调理解如下方面的重要性:创建可以使站点访问者兴奋(而非沮丧)的反应迅速的用户体验。
本书也强调了您能够在设计中充分发挥创造力,以使应用程序在外观和行为方面都优于任何静态Web站点。
您将了解如何使用自定义用户界面组件,这些组件不会损害可用性或可访问性。
1.1通过实例学习应用JavaScript实现PPT 幻灯片播放效果的实现原理1.1.1JS 幻灯片实现原理及示例1、实现原理常见的幻灯片切换无非就是轮播和渐变,不管哪种都是用定时器来逐步改变图片或者图片组的某种属性来实现的。
摒弃其他的效果,最简单的轮播也就只有一条语句:parent.appendChild(parent.firstChild),不断的把列表的一个元素添加到最后一个,appendChild函数会将节点从原来的位置移除,所以借此可以产生切换效果。
但要注意的一点是,IE浏览器对文本的文本节点与其他的浏览器不同,在获取子节点的时候需要注意,另外在不同版本的FF中,children这个属性也需要注意。
2、实现的示例(1)下面的demo没有设置#view的overflow:hidden(超出部分进行隐藏)<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title></title><style type="text/css">*{margin: 0;padding: 0;}ul{list-style: none;}#view{position: relative;width: 320px;height: 120px;margin-left:320px;border: 10px solid #bc8f8f;}#img_list{position: absolute;width: 960px;}#img_list li{float: left;width: 320px;height: 120px;}#slideOneTagID{background: #87ceeb;}#slideTwoTagID{background: #ff69b4;}#slideThreeTagID{background: #98fb98;}</style></head><body><div id="view"><ul id="img_list"><li id="slideOneTagID"></li><li id="slideTwoTagID"></li><li id="slideThreeTagID"></li></ul></div><script type="text/javascript">var img_list = document.getElementById('img_list');setInterval(function(){img_list.appendChild(img_list.firstChild);},500);</script></body></html>(2)下面的demo设置#view的overflow:hidden(超出部分进行隐藏)<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title><style type="text/css">*{margin: 0;padding: 0;}ul{list-style: none;}#view{position: relative;width: 320px;height: 120px;margin-left:320px;border: 10px solid #bc8f8f;overflow:hidden;}#img_list{position: absolute;width: 960px;}#img_list li{float: left;width: 320px;height: 120px;}#slideOneTagID{background: #87ceeb;}#slideTwoTagID{background: #ff69b4;}#slideThreeTagID{background: #98fb98;}</style><body><div id="view"><ul id="img_list"><li id="slideOneTagID"></li><li id="slideTwoTagID"></li><li id="slideThreeTagID"></li></ul></div><script type="text/javascript">var img_list = document.getElementById('img_list');setInterval(function(){img_list.appendChild(img_list.firstChild);},500);</script></body></html>(3)重构为函数对象语句<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title><style type="text/css">*{margin: 0;padding: 0;ul{list-style: none;}#view{position: relative;width: 320px;height: 120px;margin-left:320px;border: 10px solid #bc8f8f;overflow:hidden;}#img_list{position: absolute;width: 960px;}#img_list li{float: left;width: 320px;height: 120px;}#slideOneTagID{background: #87ceeb;}#slideTwoTagID{background: #ff69b4;}#slideThreeTagID{background: #98fb98;}</style></head><body><div id="view"><ul id="img_list"><li id="slideOneTagID"></li><li id="slideTwoTagID"></li><li id="slideThreeTagID"></li></ul></div><script type="text/javascript">var img_list = document.getElementById('img_list');var switchImageList=function(){img_list.appendChild(img_list.firstChild);};setInterval(switchImageList,500);</script></body></html>(4)重构为函数调用语句<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title><style type="text/css">*{margin: 0;padding: 0;}ul{list-style: none;}#view{position: relative;width: 320px;height: 120px;margin-left:320px;border: 10px solid #bc8f8f;overflow:hidden;}#img_list{position: absolute;width: 960px;}#img_list li{float: left;width: 320px;height: 120px;}#slideOneTagID{background: #87ceeb;}#slideTwoTagID{background: #ff69b4;}#slideThreeTagID{background: #98fb98;}</style></head><body><div id="view"><ul id="img_list"><li id="slideOneTagID"></li><li id="slideTwoTagID"></li><li id="slideThreeTagID"></li></ul></div><script type="text/javascript">var img_list = document.getElementById('img_list');setInterval("switchImageList()",500);function switchImageList(){img_list.appendChild(img_list.firstChild);}</script></body></html>因此,熟悉定时器的应用方式和程序规则。
FLASH CS4 展望Flash未来发展Flash具有跨平台的特性,有很强的可移植性。
同时,在Flash软件中融入了RIA(富客户端)技术,具有更大的发展空间。
RIA(Rich Internet Applications,即“富互联网应用”)是下一代的将桌面应用程序的交互式用户体验与传统的WEB应用的部署灵活性和成本分析结合起来的网络应用程序。
这是个用户接口,他比用HTML能实现的接口更加健壮、反应更加灵敏、更具备令人感兴趣的可视化特性。
那么,Flash可能的发展方向究竟如何?1.开发应用程序由于其独特的跨平台特性、灵活的界面控制以及多媒体特性等,使得用Flash制作的应用程序具有很强的生命力。
当然,某些功能可能还要依赖于其他技术来实现,如XML、JavaScript等来实现。
目前,很多用户通过Flash来开发小型的应用程序。
2.开发软件界面通过Flash可以设计出许多优秀、动态、灵活的界面,如设计界面中动态的菜单、动感的图标等。
另外,在软件系统的界面中,Flash还提供了良好的接口。
3.手机领域的开发Flash Lite是专为移动电话和消费性电子装置开发的Flash技术。
其提供了多样化的内容与浏览功能,并提高了自定义用户接口的速度。
使设计人员和开发人员在制作手机应用程序和动画时,具备全新层次的表现力、效率和互动功能。
Flash不仅可制作播放于普通计算机的动画和程序,还可制作手机应用程序,手机屏保、手机主题、手机游戏以及手机工具等,在这方面,Flash表现得非常优秀。
4.开发游戏由于Flash技术不断更新,在经过多年小型Flash游戏不断革新后,开发人员已经开始转向Flash网络游戏(Flash客户端/服务端)的研究与开发。
5.Web应用我们知道,现在Flash已经成为Web开发人员中,开发网站的一种技术,并且可以实现全面的控制功能、导向跳转、丰富的媒体内容、流畅交互功能等。
另外,随着网络的逐渐渗透,开发人员开始设计基于客户端/服务器的应用。
“富客户端”(Rich Client)。
富因特网应用程序(Rich Internet Applications,RIA)利用具有很强交互性的富客户端技术来为用户提供一个更高和更全方位的网络体验。
RIA 集成了桌面应用的交互性和传统Web应用的部署灵活性与成本分析,以创建单一而完整的用户体验。
富客户端技术使创建RIA成为可能,它提供一个运行时的环境以承载被编译的客户端应用程序,该客户端应用程序是一个使用HTTP协议发布的文件。
客户端应用程序使用异步的C/S结构连接到现有的应用服务器,这是一种安全的、可升级的、具有良好适应性的面向服务模型,这种模型由当前所采用的Web服务驱动。
富客户端技术正在不断地完善中,但并不意味着会取代HTML。
相反它将进一步扩展浏览器功能,使之提供更加高效和友好的用户接口。
许多RIA都在浏览器中运行,甚至它本身就是HTML的一部分,所以HTML将继续保持其原有的角色。
另外,由于富客户端技术可以支持运动的图象、视频、音频、双向的数据通信和创建复杂的窗体,它为创建应用程序用户接口提供了一个高效而完善的开发环境.RIA开发必须具备三个要素:富客户端技术、服务器技术和开发工具。
富客户端技术充分利用本地机器的处理能力来处理数据,而不需要把某些数据发送到服务器处理,充分利用了本地机器的资源。
服务器技术提供了一种与富客户端的连接机制,作为RIA的服务器技术必须从现有的服务器技术继承,可以提供一个快速的脚本环境,支持数据库应用开发、双向数据通信、实时数据通信,甚至采用一种新的服务器,例如:ColdFusion Server和Flash Communication Server等。
RIA实现必须有一组简单而高效的开发工具,如果没有一组简单而高效的开发工具,那么富客户端技术与服务器技术是毫无意义的。
正是由于RIA的C/S结构,它需要一组开发工具协同工作才可以完成。
“富”的概念包含两方面,分别是指它具备丰富的用户界面和丰富的数据模型。
RIA的定义RIA(Rich Interface Applications)富界面应用,俗称胖客户端或者富客户端。
RIA的优势RIA 具有的桌面应用程序的特点包括:在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特性如拖放式(drag and drop)以及在线和离线操作能力。
RIA具有的Web应用程序的特点包括如:立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准。
RIA具有通信的特点则包括实时互动的声音和图像。
客户机在RIA中的作用不仅是展示页面,它可以在幕后与用户请求异步地进行计算、传送和检索数据、显示集成的用户界面和综合使用声音和图像,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。
对于企业来说,部署RIA的好处在于:1)RIA可以继续使用现有的应用程序模型(包括J2EE和.NET),因而无需大规模替换现有的Web应用程序。
通过Rich Client技术,可以轻松构建更为直观、易于使用、反应更迅速并且可以脱机使用的应用程序。
2)RIA可以帮助企业提供多元化的重要业务效益,包括产提高销量、提高品牌忠诚度、延长网站逗留时间、较频繁的重复访问、减少带宽成本、减少支持求助以及增强客户关系等。
RIA目前的发展态势在过去的两到三年中,Web开发人员一直是想构建一种比传统HTML更丰富的客户端:这是一个用户接口,它比用HTML能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。
RIA技术的出现允许我们在因特网上以一种像使用Web一样简单的方式来部署富客户端程序。
无论将来RIA是否能够如人们所猜测的那样完全代替HTML应用系统,对于那些采用C/S架构的胖客户端技术运行复杂应用系统的机构和采用基于B/S架构的瘦客户端技术部署Web应用系统地机构来说,RIA确实提供了一种廉价的选择。
下面介绍一下目前出现的几种比较有实力或者有特点的RIA客户端开发技术:1)Macromedia Flash/FlexFlash 从6.0开始Flash就逐步具备建立窗体风格的应用程序的功能。
据Macromedia 称已经有98%以上的桌面系统的浏览器都安装了Macromedia Flash Player。
这使得以Macromedia Flash Player为客户端的RIA可以支持种类广泛的平台和设备。
Flex是为满足希望开发RIA的企业级程序员的需求而推出的表示服务器和应用程序框架,它可以运行于J2EE和.NET平台。
Flex表示服务器提供基于标准的、声明性的编程方法和流程,并提供运行时服务,用于开发和部署丰富客户端应用程序的表示层。
Flex开发者使用直观的基于XML的MXML来定义丰富的用户界面。
该语言由Flex服务器翻译成SWF格式的客户端应用程序,在Flash Player中运行。
2)LaszloLaszlo 是一个开源的RIA开发环境。
使用Laszlo平台时,开发者只需编写名为LZX的描述语言(其中整合了XML和Javascript),运行在J2EE 应用服务器上的Laszlo平台会将其编译成SWF格式的文件并传输给客户端展示。
从这点上来说,Laszlo的本质和Flex是一样的。
Flash是任何浏览器都支持的展示形式,从而一举解决了浏览器之间的移植问题。
而且,在未来的计划中,Laszlo还可以将LZX编译成Java或.NET本地代码,从而大大提高运行效率。
3)AvalonMicrosoft的Avalon是下一版本的Windows(代号"Longhorn")的一部分,是一个图形和展示引擎,主要由新加到.NET框架中的一组类集合而成。
Avalon定义了一个在Longhorn 中使用的新标记语言,其代号为"XAML"(可扩展应用程序标记语言)。
可以使用XAML 来定义文本、图像和控件的布局,程序代码可以直接嵌入到XAML中,也可以将它保留在一个单独的文件内。
这与Flex中的MXML或者Laszlo中的LZX非常相似。
不同的是:基于Avalon的应用程序必须运行在Longhorn环境中,而Flex和Laszlo是不依赖于平台的,仅仅需要装有Flash播放器的浏览器即可。
4)Java SWTJava 已经出现几年了,并且完全支持创建基于窗体的用户界面。
除了Java基础类(JFC/Swing)中的用户界面组件之外,开发人员还可以使用来自于Eclipse Project的SWT 工具箱和许多第三方工具箱进行开发。
对于图形来说,可以采用Java 2D API:一个非常完整且非常复杂的图形API。
你可以通过一个Web浏览器使用Java插件软件,或使用Java运行时环境中较新的Java Web Start技术来部署应用程序。
使用Java建立Rich Client的主要缺陷是它的复杂性(即使对简单的窗体和图形也要求编写非常烦琐的代码)和Java浏览器插件的低市场占有率。
5)XULXUL(念作"zool")是一种基于XML的用户界面语言,它来自于Mozilla的开放源码项目。
它可用于建立窗体应用程序,这些应用程序不但可以在Mozilla浏览器上运行,而且也可以运行在其他描述引擎上,如Zulu(一个Flash MX组件)和Thinleys(一个Java实现)。
XUL描述引擎都非常小(100K以下),它可以使用XML数据也可以生成XML数据。
XUL 的一个主要缺点在于它目前还没有获得一个主要商业实体的支持。
XUL最大的优点在于它与Gecko引擎的集成(打开了通向大量Web标准的大门),以及与大多数其它XML用户界面描述语言相比它是一种非常具有表达力和简洁的语言。
6)BindowsBindow 是用Javascript和DHTML开发的Web窗体框架。
Javascript用于客户端界面的显示和处理,XMLHTTP用于客户端与服务器的信息传输。
Javascript在客户端的表现力不容置疑,利用Javascript几乎可以实现Windows应用程序所能干的大部分事情,XMLHTTP 一直以来常被用于实现"无刷新"的Web页面,它和Javascript配合,可以完成数据从服务器和客户端的传输。
Bindows的一个主要的缺点是它采用一次全部载入的方式来实现脚本库,在窗口的加载期,需要一个漫长的等待过程,甚至浏览器的进程会产生无响应的情况。
这点Bindows根本没有遵循"用多少去多少"的准则。
另外,内部大量利用了IE6 的技术,没有考虑到非IE的浏览器,限制了Bindows的流行。
RIA未来的发展预测就目前RIA的使用情况来说,离"RIA时代"还有很远的一段距离。
今后几年时间内传统的Web应用程序和RIA将会共存。
笔者认为真正具有实力担当起普及丰富客户端应用重任的只有基于Flash Player的Flash/Flex应用程序和Microsoft的基于Avalon的应用程序。
短期时间内(估计2-3年时间)可能是Flash/Flex应用程序在新兴的网络应用程序市场上占有主导地位。
随着时间的推移,Flash/Flex应用程序的市场占有率可能会慢慢被基于Avalon 的应用程序所蚕食。
当然,Flash Player和Flex以后也会不断推出新版本,相对于升级操作系统或安装Avalon运行环境,人们肯定更愿意升级Flash Player。
Flash/Flex应用程序也有其本身固有的软肋,Flash Player的执行效率和对本地资源的操作限制是无法和Avalon相比的,相对于浏览器中的插件而言,Avalon的应用程序拥有更加广阔的可操作空间和更高的执行效率。
目前Microsoft还在推广一种叫做Smart Client(智能客户端)的客户端程序技术,Microsoft称Smart Client是比Rich Client更优秀的客户端,因而采用Smart Client的应用程序算不算RIA目前我个人还无法作答。
这里我们之所以提及Smart Client,是因为Smart Client 的特性跟我们谈的Rich Client有太多的相似之处。
Smart Client拥有自动更新、离线状态下的数据处理和可以使用本地资源等特征,其中的可使用本地资源这一项无疑是一大卖点,因为浏览器中的Flash/Flex应用程序目前还无法操作本地的一些资源,比如Flash/Flex应用程序无法将网上的文件保存到本地或者修改本地文件。
虽然Macromedia的Central1.5已经可以对本地文件进行简单的操作,并且flex1.5开发的RIA也能够运行于Central上,但是如何使Central能够得到大范围推广还是个问题。
相对于轻量级的Rich Client,Smart Client更接近C/S架构中的客户端程序。
Rich Client和Smart Client的定位还是有所区别的:Rich Client更适合作为轻量级的基于浏览器的网络应用程序客户端;Smart Client更适合作为Windows 桌面应用程序的智能客户端。
不管我们今天称之为的RIA今后会不会成为主流应用程序,人们对开发具有高度互动性、丰富用户体验以及功能强大的客户端的追求是不变的。
有理由相信,拥有成熟技术和极高市场占有率的Flash客户端将会在RIA道路上越走越远。
Microsoft未来的重量级武器:Avalon和Smart Client能否后来者居上让我们拭目以待。