谁是下一代客户端RIA技术的霸主?

来源:互联网 发布:linux添加用户到组 编辑:程序博客网 时间:2024/03/28 22:24

程序客户端的终极意义在于提供人机交互的界面(UI), 因此,简单有效,富于表现力,便于用户操作是客户端应该始终追求的目标.

在传统的C/S 时代, 由于客户端可以利用几乎所有操作系统(OS)提供的能力, 因此, C/S客户端是富(Rich)的, 唯一的瓶颈就是OS. 随着Internet的普及推广, 越来越多的应用开始采用浏览器作为前端容器, 就是所谓的B/S,或者B/S/S结构.

然而, 基于HTML文本的表现力以及可操作性与传统的Rich Client相比, 差距是很大的, 比如在C/S模式下一些原本很简单的任务,格式化打印报表, 复杂的datagrid, 在B/S里竟然成了一件奢侈的事情, 有很多人沉浸与挖掘中而乐此不疲.  虽然有很多商业的或者开源的tag lib或者基于javascript 的组件可以利用, 比如Bindows, CodeThat, 但是都只是聊胜于无,没有从根本上解决问题, 开发人员往往是事倍而功半, 也导致项目进度与成本居高而不下.

AJAX本不是什么新技术, 新瓶装旧酒而已, 所有的核心的技术是早已经存在的xmlhttp, javascript, xml,只不过突如一夜春风来,有人给它起了个新名字就大兴其道了. 其实早在AJAX这个名字传播之前的20004年我们就开始在项目中采用XMLHTTP来实现一些无刷新的后台数据交换,典型的是根据用户的选择去更新下拉框的选项值.

存在就尤其合理性, AJAX有其生存的环境, 它也必将继续被大量使用, 不过, 它只适合在一个网站性的或者小型的应用中发挥作用, 界面再复杂一些, 就难于胜任了, 不是不能做, 而是因为客户端开发成本太高, 而收效微.

基于微runtime的技术是下一代客户端技术的正确方向.

现实的选择有Adobe 的flex/AIR技术, microsoft的silverlight, 以及其他几个javaFX,OpenLaszlo等.

而我最看好的就是flex以及silverlight. 最近花了大量时间与精力研究flex与silverlight, 就本质而言, flex和silverlight是同一类东西, 只是实现方法不同, 是解决相同问题的不同产品, silverlight目前的版本是@11, 非常的不成熟, 唯一看好它的理由是它的出身, 是站在它背后的巨人, 有microsoft的大力推广, 加上.netframework平台积累的全世界大量的开发人员, silverlight没有理由不红, 除非微软做的太差, 不过众所周知, microsoft的大部分产品技术上一般不是最好的, 但也绝不是最坏的, 所以,虽然我的sivlerlight运行的并不良好, 甚至有些微软自己的例子都老是报错, 但我依然可以预见它有个一birght future.

flex出现有几年了, 一直在默默耕耘, 产品也相当成熟, 有基本足够的控件供企业开发应用, 比如各种chart, advanced datagrid. 经过优化的acition script不知要比javascript好多少倍, 纯粹的面向对象, 纯粹的dynamic语言, 总之, 写过action script后, 我再也不想写javascript了 :)

现在手头在进行一个企业级的项目, 后端采用JavaEE5技术, 没有用spring, 原因另文再说, 总之, EJB3, JPA绝对是一项不错的提高,针对之前的J2EE. 前端在经过大量的研究工作后采用了flex, 原因只有一个, silverlight貌似是个美女, 不过现在还未成年,呵呵, 组件少的可怜, 连基本的datagrid都没有. 所以, 放着成熟的flex技术, 为什么不用呢, 无论如何, 在RIA这个领域, flex还依然是number one的, 稳定而成熟, 有足够的组件使用, 能满足企业应用的各个方面, 这就是理由.

霸主只有一个,不是adobe就是microsoft,  不是flex就是silverlight, 然而, 如果你现在就要使用这项技术的话, 那么只有flex了, 希望flex一路走好. 我将另文介绍一些flex开发的经验与知识和大家分享.

[原创文章, 请勿转载]