内容:
三类RIA技术比较
通过上面各种RIA开发技术介绍,我们可以看到它们各自的理念有所不同,运行的环境也不尽相同。总体说来,RIA开发技术分为三类:
1. 浏览器类,整个RIA是运行于浏览器里面,依靠传统的HTML+CSS+JavaScript技术来实现界面的表现和控制。
2. 浏览器插件类,RIA通过插件的方式运行于浏览器中。正在运行的程序是厂商特定的运行格式,需要特定的运行环境。
3. 桌面类,RIA脱离浏览器直接运行于桌面之上。和常见的桌面程序很类似,但是可以访问Internet资源,并具有部署容易,更新简单的特点。
在三种分类的技术中,浏览器技术是成为开发RIA最直接的技术,此类技术适合一直在做Web应用的软件开发商。
新型桌面技术则完全另起炉灶,充分使用桌面开发的技术、技巧和理念,并结合Web Application部署方便,即时安装的优点。此类技术适合做Windows应用的开发商。
浏览器插件则在浏览器技术和新型桌面之间进行了折衷,既使用新的技术来实现丰富的界面,又能和现有的Web技术进行部分的集成。
哪种RIA技术适合你
RIA是未来应用系统开发的一个重要方向,很多软件开发企业,开发团队和开发人员都希望在未来找到一个适合自己的技术,从而让自己事半功倍,在提高开发效率,降低开发成本的同时,又能交付给客户体验丰富、功能完善的软件系统。
虽然在上面我们介绍了各种技术及其优缺点,并对他们进行了一个归类,但是要回答“我们该选择那种”这个问题,还需要考虑下面的情况?
首先是我们自身的情况:
◆ 目前你的技术能力主要在Web开发方面还是Windows开发方面?
◆ 目前你开发的应用程序功能类型是内容展现为主还是事务处理为主?
◆ 目前主要在使用那个厂商或组织的技术?.NET 或者JAVA 或者其他Web技术?
◆ 目前是否在进行RIA或者类似RIA的开发?
◆ 目前在使用那种RIA开发技术?
其次是考虑技术的选择标准:
◆ 学习成本,开发效率
◆ 对应用程序类型的适合性
◆ 运行环境部署成本
◆ 运行效率
◆ 完善的功能特性
◆ 技术授权成本和服务器部署成本,开源、免费或收费
◆ 官方和社区的技术支持
◆ 完善的开发工具
◆ 完善的UI组件
◆ 跨平台特性
最后,我们根据自己的具体情况和选择技术的标准,可以为对这些技术进行一个定位和排序。
以技术运行环境部署成本来比较(由低到高):
Ajax > Flex/Laszlo > Silverlight > XUL > WPF > AIR > JavaFX
以技术授权成本来看:
开源的有:Ajax,Laszlo,XUL,JavaFX
免费的有:Silverlight,WPF,AIR
收费的有:Flex
从技术支持来看:无疑Silverlight和WPF会获得最好的官方支持,Flex的官方技术也在改善,其他技术主要依靠社区的支持。
就开发工具来看:Silverlight和WPF可以有最强大的工具使用,Flex、AIR和Laszlo也有优秀的IDE可供使用,JavaFX的开发工具尚未明朗,Ajax要看具体的实现而定,XUL的开发工具进展缓慢。
就可使用UI组件的情况来看:WPF和Silverlight需要自己扩展或者使用第三方的;Flex、AIR和Laszlo都提供了丰富的UI组件,XUL自己有一套基本够用的UI组件,JavaFX依赖JRE自带的UI工具箱。
对于跨平台特性和兼容性我们也可以得到一个排序:
Flex/Laszlo > Ajax > XUL > JavaFX > AIR > Silverlight > WPF
总而言之,要选择一种适合自己的RIA开发技术,需要从各个方面来权衡。不仅要明确自己的情况,考虑未来的需求,也要熟悉每种技术的差异和优缺点,这样才能找到一种正确的技术。