[技术贴]关于Rich Client的一点个人看法

上午跟516就这个问题聊了一会,觉得有点用,就整理记录一下吧。

我觉得Rich Client的目标是要在Thin Client和Fat Client之间找到一个中间点。今年的《程序员》第2期有一个RIA(这里用的是广义的RIA概念,包括几乎所有RC技术)的专题讨论得已经比较全面了。

现在主要的RC技术有几个派别:

  • Microsoft的基于.net技术的所谓Smart Client,秉承MS一贯的概念混乱的传统,Avalon/XAML大概也可以网罗在其中。
  • Macromedia基于Flash的RIA,主要是如Laszlo 及 Macromedia Flex这样的实现。
  • Mozilla的基于Gecko浏览器核心的XUL,目前好像只有FireFox浏览器支持FireFox本身就是用XUL写的一个在Gecko上运行的应用(多谢令狐指正)
  • Java的Applet/WebStart,Applet已经是赶不上趟,WebStart大概也差不多了。
  • 最后是基于已有技术的实现,主要是用DHTML实现的,如Bindows、Isomorphics。

以上主流的RC技术(前三个)中有一些共同点:

以XML为核心,基本上就是用XML来代替Thin Client中HTML的地位,辅以少量的客户端脚本,通过SOAP/WebService与服务端交互,提供比Thin Client更多的功能,以及接近于Fat Client的更好的用户体验,并保留Thin Client易于发布等优点。

所以说它是Thin Client与Fat Client之间的一个中间点。

以目前的情况来看,最有希望的是前两项技术,基本上都可以达到上述兼备Thin Client/Fat Client优点的程度。XUL虽然比那二者要轻量得多,但功能相对来说也差得多,还是比较接近于Thin Client。Java技术则是比较接近于Fat Client,而且开发复杂性较高。至于DHTML,本质上还是完全的Think Client,功能都是靠大量的客户端脚本来模拟,在客户端占用资源过多,功能略差,而且存在浏览器兼容问题,个人不看好它。

谈到RIA时,516说他“好不容易和公司的平面设计师想出个flash/java的方案,想不到人家已经做到这个地步了”。

所以说,及时了解国外最新技术的动向是很重要的。

7 Replies to “[技术贴]关于Rich Client的一点个人看法”

  1. xul只要是基于Gecko的都可以,不只是firefox(起码thuderbird也可以,起码还是很多的,而且跨平台都已经做好了,现在基本上各个常见平台都有)。之前与人讨论firefox是否平台的问题,其实mozilla是平台,而firefox和thunderbird都是基于mozilla平台的程序。所以还是很可怕的,因为微软想的东西,被它们先实现了,还这么好……微软这次压力蛮大的

  2. 问题就在于只有Gecko核心才支持,IE之类都不行,光这点XUL就要差上一大截。而Smart Client有IE这个最广泛的浏览器支持,而Flash更是几乎所有浏览器都支持。对MS来说,还是来自RIA的压力更大一些。

Leave a Reply

Your email address will not be published. Required fields are marked *