热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

读这样的文章才能清楚什么是RIA

RIA是什么RIA是RichInternetApplication的缩写,意为富互联网应用,引申为富客户端应用。那么,RIA意味着什么呢?在回答这个问题之前,我们不妨先回顾

 RIA是什么

 

 

      RIA是Rich Internet Application的缩写,意为富互联网应用,引申为富客户端应用。那么,RIA意味着什么呢?在回答这个问题之前,我们不妨先回顾一下从大型主机时代开始,应用软件系统发展至今所走过的历程:
      1.主机时代,界面表现力和用户数量无疑是最低的。少量的用户使用哑终端操作计算机。
      2.随着计算机制造成本的降低,尤其是个人计算机的普及,使得软件行业出现了一种新的部署结构:客户机负责提供丰富的用户界面、承担业务逻辑,在服务器上集中存储数据。这一阶段被称为C/S(Client/Server)时代。
      3.C/S结构最大的问题是部署和维护成本极高,一旦用户界面或者业务逻辑发生变化,便需要更新分布在每一台客户机上的软件。因此,B/S(Browser/Server)结构应运而生。在B/S结构中,客户端程序统一运行在Web浏览器中,用户界面由服务器程序渲染生成,客户端程序只负责展现。部署成本的降低,使得应用软件的用户数量激增:互联网能达到的地方,都可能出现你的用户。
      4.B/S结构至今被人褒贬不一。首先,客户机的计算能力几乎被废弃了,这是一种浪费;其次,用户界面的表现能力受制于Web浏览器,比起C/S结构发生了倒退。那么,能否创造一种在应用软件的界面表现力和部署成本之间双赢的局面呢?这就是所谓的RIA。
      富客户端应用也称胖客户端应用,是相对于B/S时代的瘦客户端应用而言的。在RIA时代,一个运行于Web浏览器中的客户端应用,要上升为富客户端应用,应该具备三个条件:
      不输给桌面应用的、具有丰富效果的复杂用户界面。
      有能力调度服务端的业务逻辑,自行组装所需要的用户界面,而不是一味地由服务端渲染生成用户界面。
      在一定程度上突破Web浏览器的限制。例如,在必要时能接收服务器推送来的数据,这意味着打破“浏览器请求、服务器响应”的单调格局。又例如,在必要时能在客户端存储部分数据——这是无与伦比的一次跨越,一旦拥有存储能力,富客户端应用便能在离线状态下继续为用户提供服务。
Javascript能为RIA做什么
      接下来,我们从技术方面分析RIA所能选择的实现手段。笔者归纳,致力于富客户端这一技术领域的IT厂商大致可以划分为以下4个阵营。
      微软阵营:鉴于微软是个人计算机操作系统的最大供应商,出于强化个人计算机地位的初衷,一直致力于富客户端应用开发技术的研发,这一点从其新近于.NET Framework 3.0中集成的WPF,伴随着Windows Vista推出的Windows边栏Gadgets,以及Silverlight等概念中便可见一斑。再加上原有的.NET WinForm、Win32 Application、ActiveX等,微软真不愧是乐此不疲的客户端应用开发技术的“高产户”。其中的ActiveX和Silverlight属于Web浏览器插件技术,非常有可能在RIA市场上抢到一些份额。
      Adobe阵营:Adobe紧锣密鼓地推出Apollo计划,在其集成开发环境Flex Builder中,使用ActionScript既能开发运行于Flash Player中的Flash,又能开发运行于桌面的AIR应用。由于Flash已经无处不在,Adobe是非常令人看好的一股力量。
      Sun阵营:提到Sun的大名,自然令人想到Java。没有人奢望JavaFX及SWT/Swing/AWT能撼动微软和Adobe,但是在桌面应用方面形成三足鼎立的局面还是值得期待的。在浏览器应用方面,Applet和Java Web Start已经积累下一些成功案例。
      Google、Mozilla阵营:Google是云计算和SaaS(Software as a Service)的领导厂商;Mozilla则拥有技术领先的Web浏览器。这是唯一没有推出自己的桌面应用开发技术,而把全部的赌注押在Web上的阵营。Javascript+HTML+CSS的组合,远没有Silverlight和WPF看起来那么光彩照人,也不像Apollo计划那么活力四射。但是,正是这一组合,让微软不由得发出“Silverlight最大的对手是Javascript”的感慨。也正是凭借着这一组合,Google开发出了GMap、GMail、GTalk等令人大开眼界的应用。出于自信,Google认为,未来RIA的平台标准已经确立了,那就是Web。
      在琳琅满目的实现方式中,Javascript在其中巧妙地穿针引线,扮演着“黏合剂”的作用。Javascript与各种浏览器插件技术(Silverlight、ActiveX、Flash、Applet)均拥有互操作能力,无论这种插件技术是主流的、还是生僻的,是传统的、还是现代的。

      Javascript是唯一不需安装任何插件,便被各大主流Web浏览器支持的动态脚本,可谓拥有天然的跨平台性。未来之RIA,必是以Javascript为核心!


推荐阅读
  • 导读:很多朋友问到关于php前端脚本语言有哪些的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
  • 前端图片合成技术_靠谱的前端需要做哪些准备?
    Web前端开发源于传统的互联网,互联网普及让人才需求量居高不下,随着移动互联网的高速发展,移动终端的前端开发也越来越受到重视, ... [详细]
  • 前言对于从事技术的人员来说ajax是这好东西,都会使用,而且乐于使用。但对于新手,开发一个ajax实例,还有是难度的,必竟对于他们这是新东西。leo开发一个简单的ajax实例,用的是 ... [详细]
  • 表单提交前的最后验证:通常在表单提交前,我们必须确认用户是否都把必须填选的做了,如果没有,就不能被提交到服务器,这里我们用到表单的formname.submit()看演示,其实这个对于我们修炼道 ... [详细]
  • 但有时候,需要当某事件触发时,我们先做一些操作,然后再跳转,这时,就要用JAVASCRIPT来实现这一跳转功能。下面是具体的做法:一:跳转到新页面,并且是在新窗口中打开时:复制代码代码如下:fu ... [详细]
  • JavaScript实现在页面间传值的方法-本文实例讲述了JavaScript实现在页面间传值的方法。分享给大家供大家参考。具体如下:问题如下:在a.html页面中,的 ... [详细]
  • IntheBestPracticestoimprovewebsitePerformancehttp:developer.yahoo.comperformancerules.h ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 我试图制作一个进度条,如果还有更多内容仍被隐藏,则显示箭头。为了更清楚,我做 ... [详细]
  • Screen对象  JS获取浏览器高度或宽度  IE中:  document.body.clientWidth>BODY对象宽度  document.body.clientHeight ... [详细]
author-avatar
郎嬅不绘画_875
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有