天天看點

我為什麼鼓吹thick client

這個版面好像最流行是XMLHTTP,類似的技術早前也見識過一些。前段日子,moxie對我鼓吹他們的技術(有點類似XMLHTTP)開發如何高效。确實,他的公司開發效率挺高的,至少目前比我們效率高。前提:在前人豐厚的積累基礎上。 如果給我足夠的積累(人力物力因素),我絕對會比他們快。積累中......

  我們先來看看這種js+xml+http的優點:

   1、浏覽器,0用戶端安裝,slim client.

   2、作業系統無關

   3、具有桌面應用程式的一些特征,注意,這裡是一些。

  而thickClient的常有的一些問題

   1、安裝,更新問題

   2、肥胖問題

   3、作業系統相關問題

  說實話,如果早是幾年前我都認為thick Client真沒有前途了。當然,現在恰好相反。

  讓我們看看thick Client問題的解決方法

    1、安裝更新: 我們擁有太多方法了,Java web start就是最好的辦法。自動安裝更新。

    2、肥胖問題:

       現在芯跳速度越來越讓我們對普通的桌面程式效率不再擔心;不會再有人給PC配置64兆記憶體了,因為難以買到;不會有人新配置的機器是window95無盤站或者6.4G硬碟(我的第一台電腦隻有6。4G硬碟)。

   3、作業系統? 嗯?那你一定不會java。

   4、他擁有桌面應用程式所有優點(包括脫機工作),而避免了桌面應用程式最大的幾個硬傷,安裝/更新/連接配接限制。我甚至可以建立一個本地資料庫。

   5、我們都是java程式員,用接口交流,用代碼說話。我和你沒有人為的溝壑。想調試任何時候任何人都可以調試。沒有人特殊,不存在稀有人才。(這可能就是Robbin所提倡的技術平民化吧)

   6、Client照樣可以IoC,可以AOP,可以ORM.

     7、傳輸方式有N多選擇,最差的一種是用XML傳輸。效率.......

     8、差點忘了說了,不然留下話柄,需要JRE支援。确實,這點總是有點不爽,不過,這個東東好像可以0教育訓練。(當然,還可以從這裡騙點錢,賣CD光牒,不過不要讓sun知道)。 如果客戶确實要運作業務系統的話,這個代價值得。而且穩定,JS則難說了。

   讓我們回頭看看js+xml+http:

    1、浏覽器相關,據我所知,*****多的實作和浏覽器相關。很多都和IE綁定,可是Bill最讓人信不過,或需明天為了将firebox擠出,就不知道做了什麼。

    2、脫機,本地存儲皆是不可能(如果可能就依賴作業系統了吧)。 而這對于一些資訊系統來說這太重要了,實際上之前都是特殊問題特殊處理,是以有了p2p之類的。

    3、js程式員+html+java程式員,他們用xml對話。我們知道,甲告訴乙,乙告訴丙,丙告訴丁.......到了戊那兒原話大變樣了。再追溯起來就麻煩了。

    4、培養一個Swing的高手代價和培養一個js高手的代價比。寫個Swing控件和寫個JS元件的代價比。

    5、XML編制/解析,浪費了我的CPU.考驗客戶的信心。

    6、安全,java總比js這種解釋性語言強吧

不過,web也有其不可替代位置,對于系統的外部使用者,這個thick Client還不是很現實的。

增加名詞注解:

   C/S 我不講了

有了b/s結構後,随着應用的深入,浏覽器這種request/response的方式比較不爽,重新整理過于頻繁,界面操作性不強,報表麻煩等等。有人又懷念c/s時代的豐富用戶端(rich Client),但又希望擁有B/S(又一說是所謂的三層結構)的優點。

  後來發展出一些新的技術出來,當然,遠端調用技術我就不詳談了。這裡主要說用戶端技術。 rich client用戶端技術主要分流為thin client和thick client,隻是有時候他們界限并不明顯。

  thin client技術的主要以XUL,XAML為代表,也就是利用xml标簽描述桌面應用程式的界面,但幾乎所有的主要計算工作在服務端(我們叫他應用伺服器)完成。這時候,用戶端是纖細的,隻需要支援XUL或者xaml這兩種語言的浏覽器。隻不過,這界面用起來和c/s程式下的差别不大。 目前上述兩種技術都很不完善,還不具備應用開發的大環境。

  thick Client則不同,用戶端需要有自己一套程式在跑着,界面邏輯的計算量全部在用戶端。就好像c/s程式一樣,隻是c/s連接配接的是資料庫,thick client連接配接的是遠端應用伺服器。這種技術先是開發中用的已經比較多了,隻是标準林立。

  類似httpxml這種架構不能分為其中一種類型,他利用了js做了一些rich client工作的技術,他的出現跟rich client本身技術成熟度不夠有一定的原因,可以這麼說,他是特殊時代的特殊産物。我個人認為,這種技術出生之時,就注定了離消亡不久矣。

  之是以有現在這樣的結果,是因為Rich Client标準衆多,門派林立,各家由各家的做法,沒有形成一定的标準,而且本身又有些技術方面的缺陷或者難題。

  但2005年,第一屆Rich client大會将在美國召開,我們期待能有所突破。

轉自

http://www.iteye.com/topic/10214