[注:这是从以前CSDN上的个人blog迁移来的。]
今天看到一篇挺有意思的blog: Does Eclipse's RCP mark the return of the fat client or didn't they just hear about the South Beach Diet yet? 大意是,Eclipse的RCP是否标志着“胖客户端”(或者说“富客户端”)的回归?
作者提到了几个有趣的事实。首先,基于浏览器的Web Application让IT部门的员工爱不释手,因为真正的“零客户端管理”实现了,服务器端的任何一点改动在客户端立刻就可以使用了,而不需要每个客户端都再去维护了。但是,除了这个好处之外,还有其他什么吗?用户,包括IT部门的员工逐渐就意识到了,有了易于管理的好处,但是牺牲了可用性,许多非常好用的功能,比如鼠标右键的快捷菜单,按列重新排序,调节列的宽度等等,都在Web Application中失去了。而事实上,仔细想想,为什么大多数的用户更愿意使用Outlook,ThunderBird这样的邮件客户端,而不是mail.yahoo.com这样的浏览器邮件客户端。而同时,浏览器下的Web Application没有一个统一的应用程序的风格,菜单放哪里?上面,底下,左下角?
再回来看看所谓的“零管理”。J2SE 1.4中加强了Java WebStart的功能。这种分布式的做法,使得客户端每次启动执行的时候,都会从服务器下载最新的版本。这样,不是解决了“零管理”的问题了吗?其实还有一些需要注意的问题:下载多少?如果每次都要下载好几兆的更新,通常用户的接受不了。想想每次更新Windows的补丁,就知道下载好几兆的更新是一种什么感受了。
所以,真正的网络客户端,应该是“瘦”的,但是“功能丰富的”,或者说,是“thin”而且“rich”。“thin”是指相对于传统的“fat”客户端(象Office这样的“胖客户端”),在客户端不需要太多的安装,“rich”则是指相对于当前的Web Application,应该是功能丰富的。当前的Web Application是“thin”的,但是不够“rich”。
那么何去何从呢?
一个选择是Mozilla 的XUL,一个跨平台的UI解决方案;
一个选择是Eclipse的RCP,足够的“rich”了,但是不够“thin”: RCP的运行库就达到了6.7M了,似乎胖了点。
看完这个blog,只有两个想法:
其一,RCP应该会是一个很大的发展方向。需要下载安装的客户端对于高速的宽带网络来说,不是问题;
其二,Java WebStart的应用,每次客户端启动,只会更新改动过的部分(除非客户清除了客户端的缓存)。这样的话,6.7M的RCP运行库并不是每次都需要更新的。
有了Java WebStart,Web Application所称道的“零客户端管理”就不再是一个显著的优势了。而RCP却带来了Web Application所不具备的用户易用性,统一的风格和传统桌面程序中所熟悉的功能。
Wolfgang Paulus 是 SwixML (一个开源的XUL引擎)的创始者和主要作者。也许Wolfgang更乐于看到XUL 和 RCP 都会健康的发展,提供开发真正的“Thin Rich Web Application”的平台。
Wolfgang Paulus's blog
SwixML
Email this store to a friend (send a short email with a subject to this story)
Subscribe to kukooBlog (subscribe kukooBlog's RSS feed)
Send me feedback on this story
Eclipse,RCP
Eclipse,Programming