RIA主题已经成为了当前互联网上最热门的话题,好像很多网站都在一夜之间开始选择使用RIA作为用户表示层,或者打算考虑推出自己的RIA应用,甚至很多公司还打算用RIA代替自己原有的客户端软件,比如最近听闻QQ打算开发基于WPF的客户端应用。不知道使用了富客户端的QQ是否会给大家带来更多的优秀用户体验。但即便在这种情况下,好多时候,跟用户说起来RIA应用,很多用户的第一反映就是,是那个放电影的网站吗?亦或是,是那个好多动画,跟电影式的程序吗?然后感叹说,好看是很好看,但是感觉花里胡哨不实用啊。产生这种忧虑是完全合情合理的,因为这几年的RIA宣传媒体都在铺天盖地的宣传一个“富”字,具体说来就是系统如何如何的具有优秀的表现形式,这些形式如何如何优美,举出的示例也都是一些特别好看的内容,比如多媒体网站,网络游戏一类,让用户产生一种RIA就是一个花瓶的错觉。在这里为了以正视听,我们介绍一下RIA的前世今生,让大家有个深刻的了解和体会。
RIA的前世今生
最早的时候,没有RIA,有的只是普通的Windows应用,后来单机应用没前途,改成了网络应用,这才有了分布式应用这么回事。后来互联网应用如雨后春笋般的跑出来,大家都觉得在浏览器里面鼓捣点东西好,那时候浏览器里面的应用比普通的Windows应用开发更方便,而且响应速度也快,更加上互联网内容丰富,于是Web应用开发应运而生。互联网应用发展了好几年,经历了各种变迁,终于到了今天,大家又觉得互联网应用的内容不够丰富,表现力不够强,希望有一种技术能在不同应用平台上发挥作用,并且能比互联网应用更有表现力。于是RIA就应运而生了。
最早的RIA本身还是像互联网应用,使用的都是互联网技术,一般都是基于浏览器对脚本的解析,然后做一个大一点的JavaScript应用,内核都是JavaScript做的架构或者平台,然后在上面封装点控件,使用CSS和JavaScript做一个桌面应用,其本质还是需要浏览器给解析的,典型的平台有Extjs。
ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端 ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。ExtJs最开始基于YUI技术,由开发人员 JackSlocum开发,通过参考JavaSwing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品Ext的UI组件模型和开发理念脱胎、成型于Yahoo组件库YUI和Java平台上Swing两者,并为开发者屏蔽了大量跨浏览器方面的处理。相对来说,EXT要比开发者直接针对DOM、W3C对象模型开发UI组件轻松。
但是纯粹的脚本运行应用有很多限制,比如出于安全限制没有办法访问本地的文件系统,或者不能非常无限制的访问网络,最致命的就是速度不够好。
于是各种平台都纷纷推出自己的富表现力应用,就是RIA平台。这一平台包括三个主流产品微软平台的SilverLight,Adobe平台的Flex 和Air,以及JavaFX,当然还有现在逐渐走入主流的Adobe Air。
这三种RIA应用都具有一些共性的RIA特质,这一特质就我个人感觉才是RIA的精髓。
这一特质即使用异步调用进行通信,网页应用当中有Ajax技术,这一技术的特点就是异步通信,用户不用等着数据从远端返回,用户体验会好很多。RIA应用多半是用各种异步方式作为回调的主流。
RIA需要面临的挑战
商业应用中的RIA代替Web应用应该是一种大势所趋,RIA目前已经完全可以代替普通的Web应用,如果说需要更多的增强的话,那么RIA目前还需要面临两个挑战。
1.性能的问题。很多用户都反应RIA应用慢,其实就RIA的后台而言,其速度并不比普通的Web应用缓慢,用户反映慢的主要原因是RIA页面切换之间的速度不够好,虽然使用异步方式可以很大的提高用户点击的反馈速度,但是很多RIA设计师还不能完全理解RIA这种单窗体应用的模式,习惯性的喜欢在窗体中不断切换,这是导致用户体验不好的主要原因。这一点需要广大的RIA设计师注意,改正自己的涉及习惯,尽量使用一个RIA主窗体把所有功能模块包含进去,子窗体数量不要过多,且尽量少的进行窗体间的切换。
2.部署的问题。即便是现在大部分的RIA已经推出了好的离线安装与应用模式,很多时候,用户还是得为不断更新RIA运行时环境和RIA应用,版本的不断升级和各种新功能的加入既让开发者目不暇接也让使用者莫衷一是。我觉得现在每个阵营如果都能沉淀下来,开发出一套稳定的模式,这个模式包括开发者的开发,测试、部署所有流程。使用者才能真心的接受这个好看的事物,把它当成一个使用的工具而不是一个美丽的玩具。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
AWS MEAN堆栈+JavaScript=快速搭建应用
开发人员在构建Web应用时有许多选择。市面上有无数的框架和语言可选,而像AWS这样的云平台可以方便地部署和扩展应用程序。
-
JDK 8u40更新:新增功能抢先看
俗话说长江后浪推前浪,一代新人换旧人,Java更新版本交替,也是这样一个道理。甲骨文又给Java添加了哪些新功能。
-
移动浏览器到云:JavaScript地位正在扩张
不难发现人们非常喜欢在前端开发中使用JavaScript。但是,令我们惊讶的是后端开发也如此青睐JavaScript,促进了基于云和基于数据中心的托管应用的发展。
-
移动HTML5挑战何在?
当HTML5出现时,许多开发者和应用架构师视之为创建平台独立应用、简化你的设备支持以及当新的移动设备OS版本发布时减少应用相关问题的机会。