[注:這是從以前CSDN上的個(gè)人blog遷移來(lái)的。]
今天看到一篇挺有意思的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是否標(biāo)志著“胖客戶端”(或者說(shuō)“富客戶端”)的回歸?
作者提到了幾個(gè)有趣的事實(shí)。首先,基于瀏覽器的Web Application讓IT部門(mén)的員工愛(ài)不釋手,因?yàn)檎嬲摹傲憧蛻舳斯芾怼睂?shí)現(xiàn)了,服務(wù)器端的任何一點(diǎn)改動(dòng)在客戶端立刻就可以使用了,而不需要每個(gè)客戶端都再去維護(hù)了。但是,除了這個(gè)好處之外,還有其他什么嗎?用戶,包括IT部門(mén)的員工逐漸就意識(shí)到了,有了易于管理的好處,但是犧牲了可用性,許多非常好用的功能,比如鼠標(biāo)右鍵的快捷菜單,按列重新排序,調(diào)節(jié)列的寬度等等,都在Web Application中失去了。而事實(shí)上,仔細(xì)想想,為什么大多數(shù)的用戶更愿意使用Outlook,ThunderBird這樣的郵件客戶端,而不是mail.yahoo.com這樣的瀏覽器郵件客戶端。而同時(shí),瀏覽器下的Web Application沒(méi)有一個(gè)統(tǒng)一的應(yīng)用程序的風(fēng)格,菜單放哪里?上面,底下,左下角?
再回來(lái)看看所謂的“零管理”。J2SE 1.4中加強(qiáng)了Java WebStart的功能。這種分布式的做法,使得客戶端每次啟動(dòng)執(zhí)行的時(shí)候,都會(huì)從服務(wù)器下載最新的版本。這樣,不是解決了“零管理”的問(wèn)題了嗎?其實(shí)還有一些需要注意的問(wèn)題:下載多少?如果每次都要下載好幾兆的更新,通常用戶的接受不了。想想每次更新Windows的補(bǔ)丁,就知道下載好幾兆的更新是一種什么感受了。
所以,真正的網(wǎng)絡(luò)客戶端,應(yīng)該是“瘦”的,但是“功能豐富的”,或者說(shuō),是“thin”而且“rich”。“thin”是指相對(duì)于傳統(tǒng)的“fat”客戶端(象Office這樣的“胖客戶端”),在客戶端不需要太多的安裝,“rich”則是指相對(duì)于當(dāng)前的Web Application,應(yīng)該是功能豐富的。當(dāng)前的Web Application是“thin”的,但是不夠“rich”。
那么何去何從呢?
一個(gè)選擇是Mozilla 的XUL,一個(gè)跨平臺(tái)的UI解決方案;
一個(gè)選擇是Eclipse的RCP,足夠的“rich”了,但是不夠“thin”: RCP的運(yùn)行庫(kù)就達(dá)到了6.7M了,似乎胖了點(diǎn)。
看完這個(gè)blog,只有兩個(gè)想法:
其一,RCP應(yīng)該會(huì)是一個(gè)很大的發(fā)展方向。需要下載安裝的客戶端對(duì)于高速的寬帶網(wǎng)絡(luò)來(lái)說(shuō),不是問(wèn)題;
其二,Java WebStart的應(yīng)用,每次客戶端啟動(dòng),只會(huì)更新改動(dòng)過(guò)的部分(除非客戶清除了客戶端的緩存)。這樣的話,6.7M的RCP運(yùn)行庫(kù)并不是每次都需要更新的。
有了Java WebStart,Web Application所稱道的“零客戶端管理”就不再是一個(gè)顯著的優(yōu)勢(shì)了。而RCP卻帶來(lái)了Web Application所不具備的用戶易用性,統(tǒng)一的風(fēng)格和傳統(tǒng)桌面程序中所熟悉的功能。
Wolfgang Paulus 是 SwixML (一個(gè)開(kāi)源的XUL引擎)的創(chuàng)始者和主要作者。也許Wolfgang更樂(lè)于看到XUL 和 RCP 都會(huì)健康的發(fā)展,提供開(kāi)發(fā)真正的“Thin Rich Web Application”的平臺(tái)。

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