[注:這是從以前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