`
ohl50ohl
  • 浏览: 15813 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

今天给自己做RIA扫盲

 
阅读更多

今天给自己做RIA扫盲
2009年10月14日
  什么是RIA 技术?周海汉/文(http://blog.csdn.net/ablo_zhou/archive/2008/03/01/2137706.aspx)
  RIA:Rich Internet Application ,富网络应用,最近比较火热。我和一个做视频会议的朋友联系,问他在关注什么,告诉我在关注RIA。那么什么叫RIA富网络应用呢?
  最开始的网页,都是html静态网页,浏览者只是看,内容有图片和文字,有超链接,相比书本而言强大百倍。但浏览者没法交互和反馈。后面脚本语言和CGI得到大量应用,就叫动态网页了。以.net,jsp,asp,php等技术为代表,结合css和数据库,ActiveX,Ajax,Flash等,使网页功能相当强大。
  RIA技术,类似于单机版的应用程序,在很大程度上跳出了浏览器的限制,具有丰富美观的界面和交互能力,但它又是地地道道的网络程序,具有快速修改和部署的能力。它基于XMl,脚本语言和web service,可以产生丰富而强大的应用。在没有RIA的时代,要制作强大的界面,单机版应用程序很费力气,学过VC6.0的就知道,做个界面不容易。做花哨一点的界面更是费九牛二虎之力。网络上做界面相对容易,采用dreamweaver等工具布局,画出什么就是什么。但网络上的程序又不够强大,或受到某些安全限制。flash网页美观,功能也强。但用其做网页工作量还是挺大。
  RIA技术,基于XML,界面上采用Flash等技术,用ActionScript脚本做动态响应。编写时和编写普通网页差不多,但最终界面却玄的多,会生成flash可以播放执行的swf文件。这代表了以后网络界面技术的方向。
  现在,两家主要的RIA技术力量,一是Adobe的Flex,另一家是微软的silver light,银光。另外 javaFX 也支持,但java程序的单调界面没法和flash比,所以java爱好者认为基于java技术的RIA是用于工业应用的。Adobe是一家做图片和视频处理的超级厂商,其代表产品Adobe Photoshop和Adobe PDF reader成为人们离不开的产品。收购macromedia后,强强联合,网络图像处理的力量得到空前加强。基于 macromedia Flash的Flex,实力强劲,已经发布到3.0版。Flex基于eclipse开发,现在已经开源。但其企业版还是要600多美元。
  下面是一个flex演示页面:
  http://flexapps.macromedia.com/flex15/explorer/explorer.mxml
  silver light 是基于.net的,是.net的一个插件,支持跨平台和跨浏览器。支持高清视频(蓝光DVD,HD-DVD)播放。支持多种脚本语言如ruby,python,javascript,c#等。它采用微软提供的visual studio和expression studio(类似flash用来生成矢量图形界面的) 来编写。但也可直接用文本编辑器来编写,可以生成矢量图形。需要下载silver light插件才能播放。其官方网站是:
  http://www.silverlight.net
  **********************************************************************************************
  RIA是什么?RIA是什么,是Rich Internet Application,丰富互联网应用程序。
  Wikipedia 上的定义:
  Rich Internet applications (RIAs) are web applications that have some of the characteristics of desktop applications, typically delivered by way of a proprietary web browser plug-ins or independently via sandboxes or virtual machines. Examples of RIA frameworks include Adobe Flex / AIR, Java/JavaFX and Microsoft Silverlight.
  翻译过来就是:
  丰富互联网应用程序是具有一些桌面应用特点的Web应用程序,典型的交付途径有专有的Web浏览器插件,独立的沙箱或虚拟机。RIA框架的例子包括Adobe Flex / AIR,Java/JavaFX和Microsoft Silverlight。
  丰富与不丰富本来就没有绝对的界限,RIA相对的是传统Web应用程序(也没有绝对的定义和界限,就以返回纯HTML页面为特征之一吧)。随着 Web标准(例如Ajax和HTML 5)的发展,以及浏览器功能越来越强大,不需要扩展插件也能开发RIA应用。如Gmail就是一个很好的例子。
  简单的说,RIA 的优势就是让 Web应用程序的功能更丰富,更强大。RIA相对于传统Web应用程序的发展,一个主要部分就是Web表现层。
  我设想这样一个情景:
  我在家里、办公室、朋友家、网吧等所有能上网的地方,登陆一个账号,就可以很容易地编辑我的文档、继续我的游戏和电影、开发我的软件、和网友联系聊天。而这一切,仅仅需要一个浏览器和一个账号。这是传统Web应用程序所做不到的,因为功能不够强大;也是桌面应用程序所做不到的,因为需要在多个地方安装好很多客户端,这是不现实的。而RIA就可以使这样的情景成为可能。RIA相当于结合了传统Web应用程序的便捷性和桌面应用程序的多功能性这两大优点。
  从客户体验角度来看,RIA还需要浏览器具有更强大的功能。现在虽然可以给浏览器安装各种插件增强功能,但是这些插件并不能和账号结合,随时随地使用。例如,简单实用面向浏览者的选择并拖动就搜索的功能,就需要浏览器插件来提供。
  同时,RIA也需要更大的带宽,以传输更多的数据。理想情况是,除了私密信息,一切都存在于网络,存在于网络上的各个服务器,包括文本、图片、音频、视频、游戏、软件、数据等等,以便于随时随地访问,因此,对带宽的要求也比较大。
  更专业具体详细的介绍见以下文章:
  Wikipedia上的介绍 http://en.wikipedia.org/wiki/Rich_Internet_application
  中文维基百科 http://zh.wikipedia.org/wiki/RIA
  什么是RIA技术,RIA技术概览 http://www.airia.cn/RiaNews/RIATechnical_Summary/
  转载请注明出处:http://lushisang.blogspot.com/2009/03/ria.html
  作者:陆仕桑 发表时间:20090327-20:12
  **********************************************************************
  什么是RIA AIR Flex,给你一次扫盲个够(http://bbs.websbook.com/forumdisplay.php?fid=14)什么是RIA[b]一、定义 [b]    RIA是Rich Internet Applications的缩写,翻译成中文为丰富互联网应用程序。丰富互联网应用程序是将桌面应用程序的交互的用户体验与传统的Web应用的部署灵活性结合起来的网络应用程序。[b]RIA 是集桌面应用程序的最佳用户界面功能与Web应用程序的普遍采用和快速、低成本布署以及互动多媒体通信的实时快捷于一体的新一代网络应用程序。RIA中的 Rich Client(丰富客户端)提供可承载已编译客户端应用程序(以文件形式,用HTTP传递)的运行环境,客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的Web服务所驱动。结合了声音、视频和实时对话的综合通信技术使RIA具有前所未有的网上用户体验。 [b][b][b]二、技术特性 [b]  1、RIA (WebTop)具有的桌面应用程序的特点包括: [b]    (1)在消息确认和格式编排方面提供互动用户界面; [b]    (2)在无刷新页面之下提供快捷的界面响应时间; [b]    (3)提供通用的用户界面特性如拖放式(drag and drop)及在线和离线操作能力。 [b]  2、RIA(WebTop)具有的Web应用程序的特点包括: [b]    (1)用户友好性和交互性:传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表示层建立于HTML页面之上,而HTML是适合于文本的,传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求。RIA应用程序展现给用户的界面是像安装在本地桌面系统上的GUI程序界面,它有很多的复杂界面交互元素如树、菜单、网格等,用户的友好性和交互性大大增强。 [b]    (2)跨平台兼容性:WebTop客户端支持flash 的浏览器,解析表示层服务器发来的Flash内容。Flash客户端 是Internet历史上最普及的软件,它在98%的浏览器上运行。目前主流操作系统Windows、Linux、苹果的OS 10 上的浏览器 IE、Firefox、Netscape、 Opera 都支持 Flash 插件。甚至还可以在一些性能良好的网络终端设备,如:PDA、智能手机、机顶盒等上使用。 [b]    (3)一次加载,多次使用:目前的浏览器都用一种缓存机制,即将曾经访问过的网络资源放到硬盘上的缓存文件夹里。在用户下次访问这些网络资源时,浏览器只是向服务器寻问这些资源是否被修改,如果服务器回答没有被修改,那么浏览器会使用本地缓存的文件。在浏览器提供这种技术的背景下, WebTop的平台的前端一旦加载过一次,以后将不用从网络上下载。既降低了网络流量,又减轻了服务器的负担。 [b]    (4)客户端数据缓存功能:RIA技术是面向交互的,交互密集的应用意味着虽然用户向网络后台发送的请求的次数很多,但是所需要的数据量却相对较少。传统的网页技术只能将所需处理的数据分散的分布在每个页面中,随着页面的跳转,依次从后台将数据从服务器端取回。在这种情况下,用户即使完成一组简单的功能操作,浏览器端同常也需要向服务器发送多次数据请求,即增加了服务器的负载,又降低了用户的操作效率。WebTop 平台基于RIA技术所赋予的强大客户端处理能力,可以缓存大量的客户端数据,提供了一定程度的离线操作功能。这样,在提高了用户交互效率的同时,还能较大程度的降低服务器的负载。 [b]    (5)高效的网络数据信息传输:客户端与服务器端主要采取XML数据 和 WebServices两种方式交互,在这两种方式下,客户端和服务器端仅仅传递必要的数据信息,这与传统HTML网页的交互数据和显示信息混在一起传输的方式相比他大大降低了数据通讯量,降低了对网络带宽的要求基于RIA技术的WebTop应用对于多次请求的处理情况能够有更平均更稳定的性能表现,而传统的HTML应用在业务复杂度提高时表现出极大的限制。 [b]    (6)多个应用同时工作:利用WebTopp平台,我们可以像在PC的桌面上一样,打开几个应用程序同时工作而互不干扰,也可以在不同的应用之间进行一些互操作。而在目前基于传统网页技术的应用程序中,如果存在多个应用,则几乎不可能做到这一点。 [b]    (7)快速的开发和部署:WebTop平台提供了一套API, 利用这些API可以快速开发基于WebTop的网络应用。并且通过配置文件就可以将这些应用部署到WebTop平台中,是非常灵活的开发方式。 [b]    (8)高度的个性化可配置性:传统的基于web的应用只能在显示风格上略作配置。然而WebTop 平台可以最大限度的给予用户个性化的定制空间,用户不仅可以定义显示风格、还可以定义平台上应用的种类、个数、大小。 [b]    (9)具有通信包括实时互动的声音和图像的特点,充分利用了被广泛采纳的互联网标准。 [b][b][b]三、应用价值 [b]对于企业来说,选择RIA的好处在于: [b]  1、RIA可以继续使用现有的应用程序模型(包括J2EE和.NET),因而无需大规模替换现有的Web应用程序。通过Rich Client技术,可以轻松构建更为直观、易于使用、反应更迅速并且可以脱机使用的应用程序。 [b]  2、RIA可以帮助企业提供多元化的重要业务效益,包括产品提高销量、提高品牌忠诚度、延长网站逗留时间、较频繁的重复访问、减少带宽成本、减少支持求助以及增强客户关系等,具体表现如下: [b]    (1)在线上更密切的接触、引导和聆听顾客,有如亲身和顾客打交道一般;以提高忠诚度、改善服务、加深顾客关系、突出公司形象或引导产品开发。 [b]    (2)利用声音、图像、文本和图形来创造引人入胜的网站,以制造线索、增加销量、简化通信和创造一个值得多次访问的独特在线体验。 [b]    (3)将一般网上复杂的过程如注册、配置或采购加以简化,以提高线索量、销量、预定、逗留在网站的时间和重复访问次数。 [b]    (4)将信息以清楚、创新、直觉和有效的方式向雇员、管理层和伙伴表达,以提高生产率、信息共享、决策和竞争优势。 [b]    (5)为基础网络服务提供一个吸引人兼高度互动的表达层,容许用户在线和离线操作。 [b]    (6)减少高通信量网站因高度页面刷新率的带宽成本。 [b]    (7)通过互联网渠道显著提高产品和服务销量。 [b]    (8)利用比其它网络科技较低的成本建设一个吸引人和高度互动的网站或应用。[b][b][b][b][b]补充说明:[b][b]RIA这个概念很广,不是专指Flash应用程序. [b][b]RIA的开发方式也很多.[b][b]P.S.一个应用:[b]http://www.collab.nl/index2.html[b][b][b]另外,国内不是没人做RIA开发,而是很多人在做。[b]只是你没看见而已,因为很多是保密的什么是AIR[b]Adobe Integrated Runtime (AIR) 是一个跨操作系统的运行时,利用现有的Web开发技术(Flash,Flex,HTML,JavaScript,Ajax)来构建富Internet应用程序并部署为桌面应用程序。基于HTML的Flash/Flex或PDF,应用程序根内容为基于HTML 的Flash/Flex (SWF) 或 PDF.用户使用AIR 应用程序的方式和传统桌面程序是一样的,当运行时环境安装好后,AIR 程序就可以其他桌面程序一样运行了。n 开发AIR应用程序不必做额外的跨平台工作,节省了时间,因为跨平台的工作AIR都帮我们做好了(只要其他平台能支持AIR)。
  [b]Flex 是什么? flex和flash是什么关系?
[b]Flex 是 Macromedia发布的presentation server(展现服务),它是java web container或者.net server的一个应用,根据.mxml文件(纯粹的xml描述文件和actionscript)产生相应得.swf文件,传送到客户端,由客户端的flash player或者shockwave player解释执行,给用户以丰富的客户体验。[b][b][b][b]大名鼎鼎的Macromedia Flash是强大的矢量动画编辑工具,在作动画起家之后,Flash一直在谋求rich internet application(ria富客户端)的霸主地位,最有影响的是,已经推出了面向对象的编成脚本actionscript2.0,并且建立起类似于java swing的类库和相应component(组件)。Flex是通过java或者.net等非Flash途径,解释.mxml文件组织components,并生成相应得.swf文件。Flex的component和flash的component很相似,但是有所改进增强。[b][b][b][b]运用Flash是完全可以做到flex的效果的,为什么还需要flex呢?我理解这里面有两个原因:1,为了迎合更多的developers(开发者)。Flash天生是为了designer(设计者)设计的,界面还有flash的动画概念和写程序的开发人员格格不入,为了吸引更多的jsp/asp/php等程序员,Macromedia推出了Flex用非常简单的.mxml来描述界面和jsp/asp/php程序人员使用.(x/d)html非常相似,而且mxml更加规范化、标准化。[b][b]2,为了一个标准。大家一定听说过微软下一代系统longhorn,在longhorn推出的同时微软也会推出新的语言xaml,一种界面描述语言,与之相应的就是smart client和flex非常相似的东西。Mxml和Xaml的也很相似… …由此带来的一些列好处就不用我说了。[b][b][b][b]Flex和j2ee/.net其实没什么关系,Macromedia用java做出来个应用把flash的技术融合到j2ee里面,再用.net的技术做出来个.net应用把flash技术融合到.net里面去;应该说flex解决了j2ee里面和.net最繁琐的问题那就是web 客户端的问题。微软比较卑鄙在ie里面built-in(事先安装好了)很多空间,可以被.net调用比如datagrid,java就没有办法啦,只能用最原始的html一个tag一个tag地print,真是头疼,还有客户端的javascript是最难调试的,不论java还是.net都束手无策。
  [b]ADOBE AIR到底是什么?
[b][b]AIR是一项自2007年来备受推崇的新型技术,它又可以说是对新老技术的结合体。通过这样的结合,我们发现,确实让客户感受得到了很好的改善,比如说:客户更愿意多进行一些操作、更愿意去体验一下新的功能。因为它实在太迷人了。 [b][b]AIR发展空间与背景 [b]互联网WEB2.0时代的到来、微软VISTA的发布,大势所趋,这一切都正在改变着客户的观念和习惯。是的,人们不希望在自己所努力打造并开始自以为美的事物上运行原先死气沉沉、毫无创意的东西。而AIR技术的到来将带给用户全新的体验。 [b][b]就在AIR技术刚刚进入测试期间的时候,GOOGLE、EBAY、YAHOO...等等这些国际巨头的互联网企业都已经开始紧锣密鼓地部署自己AIR产品,可见它的市场是备受大家看好的。而在国内,AIRIA(www.AIRIA.cn)也在第一时间从国外引进了AIR的核心技术,正在为国内企业服务着。 [b][b][b]AIR到底是什么? [b]那么看完这些,你是否想急于AIR到底是一个什么样的东西? [b]简单的说,对于不懂得专业计算机技术的人们,你可以这样理解它:AIR=FLASH。对,从某些概念或表现方式上说,AIR的出现就好比很多年前人们不满足死气沉沉的网页并推出FLASH产品一样。1998年,FLASH的推出在市场上引起了巨大的轰动,从那时起,几乎所有的网站都开始制作FLASH,FLASH在短短的一年内就在全世界普及开来。 [b][b]但FLASH事实上是存在着很多缺陷的。在AIR没有推出前,FLASH只是一个“动画”而已,人们要阅读这个动画必须等到它完全加载、阅读的时候不可以复制其中的文字或图片、FLASH里的信息是完全封闭的并不与外界交流等等...而AIR将改变这一切。 [b][b]在AIR的构建下,FLASH得以升华。我们可以想象一下,整个网站、软件皆是类似“FLASH动态效果”的界面会是什么样?这种情况在很多电视剧、电影里都曾表现出来过,人们看了以后觉得不可思议,但足以暴露人们真实的想法:如果真的可以这样,我非常喜欢并乐意接受。AIR正将这一切变为现实。 [b][b][b]AIR的新特性 [b]1.与现有技术完美结合和兼容,例如 HTML AJAX(包含CSS\Javascript) ActionScript [b]2.与现有网站一样,可以与外界(包括搜索引擎在内)交流 [b]3.加载速度比现有的网站快很多。因为AIR产品均是在本地运行的,它只存在一个数据库连接的问题。想象一下,当把大幅的图片、网站FALSH、大量的AJAX代码均在用户本地打包待调用的话......速度如何? 用户只需要在第一次登陆你的网站时自动下载这些即可。 [b][b]总结:[b]AIR让客户感受更好、运行更高速度、表现的更炫目 [b][b]AIR是Apollo Intergeted Runtime。AIR程序都是跑在AIR这个Runtime之上的。这就好比SWF文件在Flashplayer中运行一样。 [b]AIR的组成和发布过程:一个描述应用的XML+一个根节点资源+一个打包工具。 [b][b]在使用Flex Builder3 建立[b]AIR项目的时候,一般都会自动产生一个MXML和个XML。用Flex编译SWF,作为这个AIR的默认根节点,然后通过Flex Builder3 发布成为air安装包。(当然这并不是唯一开发AIR的方式,Flex开发成本相对较高)我们只要有swf,并且把这个swf描述成为AIR应用的根节点资源,就可以使用Flex Builder3带有打包工具发布air安装包了。
[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics