您的位置:首页 > 业界新闻

富互联网应用的架构

2016-05-16 16:25 495 查看
RIA的网页包括提供互动的界面

RIA的主流解决方案有如下:

flash(Adobe)

silverlight(Microsoft)

javaFX(oracle)

Ajax(使用javascript)

上面的共同点,都需要下载runtime,然后相当于浏览器插件形式存在(ajax除外)。

注意,html5不属于RIA主流解决方案,目前的概念上被认为是RIA的替代方案。实际上html5和RIA应该是平台和插件的关系,但是HTML5提供了更强大的功能,不过短时间内未必可以完全抛弃上述解决方案。

silverlight:一个跨浏览器,跨平台的插件。采用VisualStudio进行开发。界面布局采用xaml或者直接拖拽开发,业务逻辑采用VB.net和C#实现。注意,silverlight最初的目的是作为adobe flash player外主要的播放器,现在已经被win10所抛弃。同样被抛弃的还有activeX。最后一次更新在2010年9月完成

activeX:和silverlight类似,也是一个插件。曾经也被称为过OLE插件和OCX控件。最早的故事来源于windows平台的剪切板技术,为了让不同程序可以通信,微软开发了OLE(对象的链接和嵌入技术)。后来OLE广泛使用COM技术,微软便将COM技术的商标定为OLE。而后来,微软发现了这种混淆,又将COM技术的集合定义为ActiveX。ActiveX最初的定义是为了操作系统内部,所以功能较为强大,往往被人恶意攻击。除了用在网页中,他可以被插在其他应用程序中。

上述插件之间都不可以直接通信,但是可以通过JS将其串联在一起。如果插件是报纸碎片的话,JavaScript就是胶水,而最初的本子是html,他们一起组成了一本剪报。

下面介绍最重要的ajax。传统网页中,如果用户需要和服务器间进行少量数据交换,则必须对整个页面进行刷新。而对于ajax,可以只需要传送需要更新的内容。

XMLHttpRequest是最重要的概念。通过这个对象,可以在浏览器和服务器之间通过http异步数据传输

使用ajax最大的缺点是破坏了浏览器后退的行为。因为历史记录中只保存了静态的页面,可以通过页面进行保存临时保存数据,后退时对这个数据进行重现。另外一个问题是,无法利用收藏夹对页面的某个状态来进行保存,解决办法是在URL中添加片段标识符。当输入一个带#的网址时,浏览器向服务器请求#前面的静态网页,然后依据#后面的内容进行滚动。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: