影响软件开发的因素
RIA
的降临很大程度上导致了
web
应用开发的复杂化。传统的
web
应用使用标准
HTML
建立,通过相对简单的软件架构设计开发,管理也相对简单。而
RIA
在
SLM(
软件级别管理
)
方面的新问题,直到现在也没有完全解决。
RIA
的架构使以下方面的管理过程复杂化:
- 复杂度的增加导致开发难度加大。将代码搬到客户端上,让设计和开发人员能够充分发挥它们的创造力。但是,这样所导致的开发难度、bug的增加、软件测试复杂度的增加都是巨大的。
- RIA架构打破了web应用的规律。传统的web应用是很多web页面,每个页面均由HTTP GET请求触发,这就是web应用的规律。RIA打破了这个模型,它引入了附加的异步通信服务器来支持对UI的更多响应。
- 异步通信机制很难隔离出性能问题。有点搞笑,其实异步通信这种用来提高应用响应的机制,却很难用来衡量性能,并精确管理吞吐量和响应时间。也许在请求了第一个页面之后,RIA应用就再也不会发起HTTP GET请求了,因为他们可以通过异步请求的机制完成后续的内容下载任务。
- 也很难衡量客户端引擎的响应时间。传统的web应用可通过截取包的数据(包监听器)来衡量客户端与服务器之间的交互过程,就可以计算出web应用的响应时间。但RIA应用由于异步的通信方式则不可能通过包监听器的方法来衡量web应用的响应时间。
RIA
的现状
RIA
尚处于用户采用的早期阶段。仍有一些限制和需要:
- 浏览器。RIA需要web浏览器的支持才能正常运行。Web浏览器必须支持复杂的JavaScript引擎,因为RIA技术通常都使用了XMLHTTPRequest作为客户机服务器的通信技术,DOM Scripting和高级的CSS技术来支持富UI。
- Web标准。Web浏览器的不同增加了编写RIA应用的复杂度。
- 开发工具。Curl、Adobe Flex和Microsoft Silverlight都提供了集成开发RIA的环境。
- 用户接受度。用户可能会怀念诸如“后退”之类的传统web应用提供的功能。
目前提供的
RIA
平台
/
解决方案
Adobe
:
Adobe Flash
、
Adobe Flex
和
Adobe AIR
。
Adobe Flex
框架提供了让开发人员通过编译
MXML
来构建
UI
的途径。
Adobe Flex
框架可编译生成
SWF
文件。
Backbase
:基于
AJAX
的
RIA
框架。
Curl
:
Curl
是麻省理工从
90
年代末开始的研究项目,现已由
Crul
公司商业化。目前的版本是
6.0
,支持
Windows, Linux
和
Mac OS
平台。
Dojo Toolkit
:
Dojo Toolkit
是旨在便利基于
JavaScript
或
Ajax
的
RIA
应用开发。
Google GWT
框架
:
Google Web Toolkit
,大家应该挺知道的了吧。
Java Applet
:。。。。。
JavaFX
:现在也炒得挺火的了。
JavaScript/Ajax
:这个更不用说了。
LeeBeLLuL
:这是一个在浏览器中使用
IronPython
和在表单中使用
InfoPath
的
RIA
应用。
ActiveX
控件
:。。。。。
Microsoft Silverlight
:这个被炒得更火。
Mozilla Prism
:这是一个开发产品,它能将桌面与
web
应用集成,支持
web
应用从桌面启动,并可独立于缺省
web
浏览器进行配置。
OpenLaszlo
:由
Laszlo Systems
公司开发的开源
RIA
应用框架。它使用
LZX
语言
(
一种
XML
标签和
JavaScript
的混合语言
)
,然后编译成
DHTML(Ajax)
或
Flash
。
REBOL
reBOX
:基于
JavaScript
的
RIA
。
Seam
:基于
Java
的
RIA
开源开发平台。
其他
RIA
相关的话题
我们将在后续
RIA
的帖子中详细解释。
实时推送
(PUSH)RIA
……
参考资料下载: