Home > 閒聊, 趨勢, Free Talk, Trends > Client/Server? Client=Server? Ajax 的影響

Client/Server? Client=Server? Ajax 的影響

October 27, 2006 (Friday) Leave a comment Go to comments

登揚大在 Pixnet的新後台 中提到 client server application 之爭,我也就來寫寫故事吧。

Client/Server 架構,一般教科書上好像是這樣寫的,沒什麼特別,大概資訊人每個都知道是什麼。最早的 mainframe 跟 terminal 就可以算成 client/server 架構。那時 client 沒有什麼運算能力。後來 client 的能力慢慢提升,很多工作會落到 client 的頭上,一些程式也在 client 上跑,變成了 fat client。跟人一樣,過胖毛病總是多了些,fat client 要安裝程式,更新不易等等的問題。隨著 web 的興起,大家又要讓 client 瘦回來,提倡 thin client。這一瘦下來,就肥了 server,用 www 的人那麼多,什麼事都叫 server 做,不要命才怪。再說網路本身就是一個很大的瓶頸,速度當然就快不起來。現在的 Ajax,其實有點回去 fat client 的意味,把很多事丟回給 client 去做,server 要服務一群什麼都不會做的 thin client 真的很累,如果 client 好歹幫忙做點事,有一點頭腦其實就快很多。

Client=Server,當 client 就是 server,server 就是 client,P2P、Grid computing 等等,都是這個方式,想法就是把所有的運算能力、儲存能力視為一體,然後分配運用。每一個 node 是 client 也是 server。在教科書上,client/server 跟 P2P 被視為很不一樣的東西,不一樣嗎?或許吧,還不就都是程式 (廢話!)。Ajax 的出現,讓 browser 上也有可能做出類似 P2P 的效果,線上共同作業不是什麼大問題。

故事沒有結束,正在繼續發展,不管 thin client、fat client、P2P 還是 Grid computing 都有人在做,都有它的應用。潮流會在可能的選項中流竄,就 Web 而言,Ajax 的興起、Google 的野心,Web 正在走往 fat client 的方式,但這個新式的 fat client 少了下載安裝等等的缺點,Google 用以全力火拼 M$。M$ 兩面押寶,一方面推出 Vista、Office 2007 等等,一方面在 Windows Live!、Office Live 等等也下了不少功夫,似乎是有其市場佈局。Yahoo 夾在中間失了一點先機,但 Yahoo Widget 以及最近一波波上線的服務,其實也不是沒有機會,走中間路線的 Yahoo 沒有直接對上 M$ 也不全面跟 Google 開火,也許也是一個機會。

Mobile 方面,有很多人要把 Ajax 弄到 mobile 上,可見 browser 已經成為一個通用的平台,假以時日相信 mobile 上看網站也不會有任何不一樣了,包括 Ajax 的互動也可以實現 (3G 不要再用封包計費啦! 不然有些 Ajax 的網站可能會把錢像倒水一樣倒出去的)。

戰爭不會結束,而 Web 2.0 以及 Ajax 也不只是表面上看到的而已,背後有更多更多不為人知的事情。網站流量也不是一切,搜尋準確度也只是眼前,能讓使用者在網站上留下有用的資料,再加以運用的,將會是最後的贏家!

Blogged with Flock

Advertisements
Categories: 閒聊, 趨勢, Free Talk, Trends
  1. 路過
    November 22, 2006 (Wednesday) at 10:15

    其實, AJAX有將部分的運算放到client, 但量不會太多, 主要還是著重在UI的部份, AJAX只是讓UI與server的溝通更加的流暢, 以便實現真正的website component.

    小弟有幸同時開發過非常大型的Window系軟體(使用Java swing), 也正在使用Ajax + JSF開發軟體.小弟個人認為Google想藉著AJAX火拼Windows也沒那麼容易.
    現今UI的兩大主流: Windows與Website, 分別代表孑然兩種不同的架構與操作習慣, 而使用者也習慣這兩種UI的操作:
    Web以Http技術為主在架構上是stateless, 而且往往有遠端存取的需求, 最原始的HTML換頁也讓user習慣於等待網路上另一端server的response.

    Windows就大不相同, UI在操作Window系統的時候, UI給他們的是一個立即的反應,
    user也會期望這個立即的反應, UI在操作windows的時候不會想等.

    Ajax可以讓Website向Windows UI靠攏, 但絕對不能完全的模仿, 而只是靠攏.
    Ajax會是個化妝師, Website再怎麼化妝, 終究還是Web, 如果逾越了這個本分, 反而畫虎不成反類犬了.
    HTML的換頁特性還是主軸, 因為這是web介面的一個特點, 而且是user已經習慣的特點, 更是架構上所依賴的一個特性, 若Ajax的導入已經複雜到讓web application喪失這樣的特性, 完全向windows靠攏, 就不是一個好的UI implement.
    而且設計windows系軟體的複雜度(event + listener)也會出現在網頁上, 這樣的複雜度是永遠存在不會變的, 甚至Ajax + JSF會做得更差, 因為每個project implement出來的特性都不同, develop更加的難以適從.

    當然, M$想藉著Window系UI跨到website上也會遭遇相同的問題, 就算他們將整個window或office介面都跟internet連上關係, 去access web services, 也會遭遇到大量的使用者抱怨, 因為本來很敏捷的UI response會因此down下來, 直接衝擊到user的使用感受, 問題就在於, User已經習慣操作網頁時可以等待, 但操作Window介面時就應該是立刻反應, 他們不會管背地裡如何運作.

    儘管如此, M$在standalone的系統中還是佔盡優勢, 例如PC, Smart Phone等, 因為人的使用習慣不容易改變, 以至於會想要複製這樣的習慣, 這個慣性連M$本身都無法違逆, 只能順從.

    總之, web還是web, window還是window, 本質不變, 習慣就不會變. Ajax只是讓web更方便一點.

  2. November 22, 2006 (Wednesday) at 13:21

    對於現在而言,路人大大的說法再正確不過了。Ajax 的確只有少部份的 UI 工作。而 Window 跟 Web 要相互取代也都沒有辦法。
    但對於未來的發展,我個人持的是不一樣的看法。Google 火拼 M$ 勢在必行,而 Ajax 只是一個技術的稱呼,當中並沒有提到「如何使用」。也許過些日子,我們會看到 Ajax 以 UI 以外的風貌出現在大家面前。
    談到使用者習慣,我想除非上過什麼網路概論、計算機概論,而且上課沒有打嗑睡,否則使用者很難清楚的描述出 Window 跟 Web 的差異。他們知道網站要等、知道 Word 點下去應該要有反應。但對他們來說,每個網站或程式都是獨立的東西,所以如果你告訴他有一個新的 “Word” 用法差不多,只是起動方法是用 IE,我想使用者不會想太多。
    M$ 佔盡 standalone 市場的優勢不是一兩天的事,而且 M$ 是最有可能在神不知鬼不覺的情況下套用新技術的,某些技術的發揚光大 M$ 其實居功至偉。
    未來,我們不可預知,但我們期待,Ajax 只能用在 UI 上嗎?還是他其實是一個揄天換日的手法?

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: