RIA大潮中,那种技术适合你?

上个月,给《软件世界》投了个稿。主要切磋了在RIA大潮将要到来之时,大家须求选用如何的技巧。目录如下:

  1. 前言
  2. RIA技术介绍和优缺点
    1. Ajax
    2. Flash/Flex/Laszlo
    3. Adobe AIR(Adobe Integrated Runtime)
    4. WPF(Windows Presentation Foundation)
    5. Microsoft Silverlight
    6. Mozilla XUL
    7. SUN JavaFX
  3. RIA技术分类和比较
    1. 浏览器类
    2. 浏览器插件类
    3. 新颖桌面类
  4. 那种RIA技术适合你
    1. 您是如何的体系?
    2. 选用正式
    3. 找到适合自己的(近期和前景)
  5. 总结

在互连网技术不断推广的明日,大家随处可遇Web应用程序(Web
Application)的身形,甚至于Web
Application已经改为广大成本公司支付各样软件系统的首选。Web
Application的产出是为了化解早期C/S(客户端-服务器)系统的安顿、更新和护卫的不方便。其经过把任何应用程序运行在服务器端,把界面解析为HTML通过HTTP协议发送给客户端的浏览器,以显示给用户。

那种依照页面的模子纵然结构简单,系统布局开销低,但还要也推动了有些出色的题材,比如:用户操作体验不难,不简单开发丰硕的效率来突显数据,应用程序需求联网才能运作,系统安全性不高,浏览器包容性不难影响系统健康运行,应用程序很难或者必要通过别的技术的支持才能操作客户机的资源,服务器的载重过高而客户机的乘除能力没有充裕行使,等等。

历史观Web
Application的累累毛病已经被业界意识到,这样一种全新的运用连串构架——Rich
Internet
Application(富互连网应用程序,简称RIA)被提了出去。RIA可以充足利用客户机的一个钱打二十四个结能力,又不失Web
Application那样的布置优点。那里的Rich显示了八个位置的意义:一,用户界面的增进;二,数据模型的智能。RIA通过在客户机上单独运行一个客户端程序(这么些客户端程序有可能独自运转,也可能嵌在浏览器中运作,下文种详细阐释他们的分别),极大的拉长了用户界面的丰盛表现,可以很不难的和多媒体技术构成,进步了用户体验。由于RIA须要一个独门于服务器的客户端程序,那么和传统Web
Application的最大差异就在于,服务器已经变成支撑RIA客户端程序正常运作的数据服务,并能为RIA提供复杂的多少处理格局,蕴涵异步的多寡传输处理和脱机的多寡缓存机制。

我们得以见见RIA实际上是拔取体系构架的迈入的一个簇新设计,从最早的特大型主机模型到C/S,到Web
Application,再到现行的RIA,是逐步选择体系的配置地域和用户体验的。图1显得了运用系统构架的升高历程:

图片 1

图1 Rich Internet Application的发展(摘自Adobe Flex:创造公司Rich
Internet Application 的表示层解决方案)

一句话,RIA就是把传统Web
Application和桌面程序的长处结合在联合,既提供了增长的客户端体验,又经过网络自由布署和无限制访问Internet的资源。

RIA的定义首先由Macromedia在二零零四年公布Flex的时候提议,随着Ajax的推广和深深,近年来各大开发平台供应商都推出了个其余RIA技术平台,以其在RIA大潮来临的时候,成为主流的开发技术。

同时在互连网社区中,对于RIA技术平台应当具有这一个条件和特征,也开展了猛烈的探讨:

  1. 优质的用户体验, 响应速度快和丰裕的用户界面
  2. 基于互连网的盛开标准开展多少传输
  3. 运转时神速高效
  4. 能组成二种媒体格式
  5. 添加的零件,基于事件驱动,能开展高效支付
  6. 支撑联机/离线的数额传输
  7. 出色的包容性,能在两种阳台下运行
  8. 与服务器的交互形式必需首先帮忙异步的相互
  9. 所根据的新的媒体格式必需是基于文本的,那样的格式才可能对于搜索引擎友好
  10. 要力所能及协理增量的变现(incremental rendering)
  11. 要按照动态类型的脚本语言,例如JavaScript或ActionScript,而不是C#如此的静态类型语言
  12. 要有90%上述的客户端计划比例。那样才能有限协理很好的Web可访问性(Web
    Accessibility)
  13. 要有比较有力的开发工具
  14. 支付和配备的资本不可以太高
  15. UI组件库可以相比较有利的做扩张
  16. RIA框架本身可以相比方便的做扩大
  17. 那种RIA技术不该造成对于服务器端技术的厂商锁定

上述前言内容,由于排版和字数的原因,最后没有颁发。

在前言完了后,我RIA技术介绍和优缺点中概括介绍了那些技巧,并付诸使用那个技术开发RIA的利害(仅个人观点)。

接着在RIA技术分类和比较中,我付出了之类这几个表格:

RIA技术分类 包含的技术 优点 缺点
浏览器
  • Ajax
  • 基于原有Web技术
  • 与HTML无缝集成
  • 无需学习新技术
  • 把应用程序绑定在浏览器中,受浏览器安全沙箱控制
  • 浏览器的兼容性影响应用程序的开发和运行
浏览器插件
  • Flex
  • Laszlo
  • Silverlight
  • 独立的技术
  • 与HTML部分集成
  • 丰富的界面表现
  • 特定的开发语言和工具
  • 能使用部分在Web开发中的经验
  • 需要下载插件和定制的运行时
  • 运行在浏览器中,受浏览器安全沙箱控制
  • 需要学习新技术
新型桌面
  • WPF
  • XUL
  • AIR
  • JavaFX
  • 独立完善的技术
  • 特定的开发语言和工具
  • 可独立浏览器运行(也可以运行于浏览器中)
  • 最丰富的界面表现
  • 能方便的访问本地资源
  • 可使用桌面软件开发的技巧
  • 需要安装单独的运行环境
  • 需要学习新技术

从上边的表中,可以看来一个尽人皆知的风味,就是Adobe和Microsoft都同时推出在浏览器中运行和独门浏览器运行的RIA开发平台。

在二种分类的技能中,浏览器技术是变成开支RIA最直接的技巧。很多少人觉得Ajax是支付RIA的不二选项,Ajax的潜力还没有完全挖掘出来,使用现有的Web技术(HTML+CSS+JavaScript)达成可以支付出拉长的用户界面。此类技术适合直接在做Web应用的软件开发商采用。

新型桌面技术则完全另起炉灶,丰裕利用桌面开发的技能、技巧和眼光,并组成Web
Application安排方便即时安装的助益。此类技术适合做Windows应用的开发商。

浏览器插件则在浏览器技术和最新桌面之间展开了折中,既使用新的技能来完成拉长的界面,又能和水土保持的Web技术举行局地的并轨。

何以选用适合自己的技巧,首要看如下多少个地点:

  • 投机眼前的技术,和制品的构造
  • RIA技术供应商的背景
  • RIA技术学习的资金
  • RIA技术利用的基金
  • RIA技术运行的频率
  • ……

最后,RIA技术平台将来市面的提升情况,供应商将会是三国鼎立的范畴:Adobe、Microsoft和SUN。Adobe依赖Flex,已经在RIA领域有了很好的基本功,目前又推出AIR,把手伸向了桌面系统。Microsoft一向是桌面软件开发的霸主,通过推出WPF来一统Windows和Web界面开发技术,现在又推出Silverlight来和Flex直接竞争,并且Silverlight有过多比Flex先进的特色。SUN依靠Java的功底,以及在活动设备上的JavaME运行时,走开源路线,也会成为一个强有力竞争者。总体来说,Microsoft和Adobe是份额最大的供应商,SUN会稍显弱势。其它,Ajax会成为许多直接在做Web
Application的软件开发商的首选,其必然成为一个生死攸关的RIA开发技术。

别的,大家有趣味,可以去买一本来看看。

相关文章