Kaie"s Blog 2.0 beta!
Back to "Top"

My Secret Notebook
 Show "Table of Contents"
Contact Me
Subscribe to my Posts feed
Subscribe to my Comments feed
My Flickr
Back to "Top"
My Secret Notebook
 Show "Table of Contents"
Contact Me
Subscribe to my Posts feed
Subscribe to my Comments feed
My Flickr

Wednesday, December 13, 2006

[AJAX] What is AJAX (2)

接續上一篇[AJAX] What is AJAX(1),是否覺得很有趣...二話不說,繼續往第二篇前進吧...
.原文出處:
堯@部落格 -> AJAX漫談(2)

※文章內容:
說了那麼多,ajax可以運用在什麼地方,可能還是有很多人不太清楚,這邊我再稍微的說明一下Ajax的運用範例。

  • 需要伺服器大量處理的網站:由於ajax可以依據使用者的要求來供給資料,所以服務器和瀏覽器中間可以透過ajax來不斷的供給正確的資料,而無需一開始就把全部的資料一次處裡完。這樣不但可以省下伺服器處理的時間,用戶端的瀏覽器也只需要載入他所需要的資料就可以了。所以能夠處理的規模也變的大的許多,例如Google Map,Google Earth,如果後端一次把所有的資料都運算給你,那一台服務器能夠提供多少人使用?規模自然大不起來。
  • 需要多用戶互動頻繁的網站:例如聊天室,很多不同的用戶透過xml把訊息送出去,然後透過ajax讓其他在聊天室裡面的人都可以只抓到更新的那一部分資料,這樣也可以減少伺服器端的重新發送重複資料,同時也可以加快傳輸的時間,讓網路浪費減到最低,效能自然達到最高。
  • 需要保存大量使用者操作介面資料的網站:例如google的spreadsheet,讓使用者直接在web上面操作類似excel的功能,而這部分使用者很多資料都存在local端的電腦,如果不用ajax,那每次資料都要重新載入,這樣的excel根本用不下去。
  • 資料的驗證:例如現在很多網站都有提供檢查用戶名稱是否可用的功能,如果在傳統的web application都是整頁reload,然後告訴你這個不行,那個不行....但是現在只要點一下,馬上就可以檢查資料的正確性,這點的確非常方便。

※原作者工作經驗談:
說到這,又讓我想起那時候為了生活接案子(悲慘的日子),用Microsoft.NET做了很多案子,可是.NET的很多基本元件,都是用戶填了資料,網頁直接refresh,然後整頁在不知不覺中(根本就是有感覺~~)做了更動。這部分一直讓我很不諒解,這根本只是讓程式開發者用很簡單的方式來開發程式,但是對於伺服器資源及網路流量做了最壞的示範啊。當初在做案子的時後,我心理都會問,這樣的架構最多能夠負擔到多少人?但是由於案子是別人給的,錢也是別人給的,又指定要用.NET開發,所以只好默默的結案了事。也許像這樣的web application根本不需要用到ajax的架構,但如果有一天用戶的老闆大發奇想要擴大運用.....Oops....