Ajax同Flash比較
關于Flash和Ajax哪個更好有很多說法。這里整理了一些評判標準,你可以自己決定哪個更適合你的網站。
Ajax應用
我對于Ajax的定義是:
這就是說Ajax既要使web頁面有奇特的效果,也要能和服務器動態通信來減少等待時間。 一些人有范圍更小的定義,但是我在這里使用這個定義。
能幫助實現Ajax應用開發的框架有很多。DWR只是其中之一,除此之外還有Dojo、Prototype等等。
Flash應用
Flash可以代表很多東西。在這里Flash意思是.swf文件。這在技術上可能令人有些小小的誤解,但是它的應用卻十分廣泛。這個世界上只有一種Flash技術,但是有很多工具幫助你生成Flash(.swf)文件,例如Swish和Laszlo
Macromedia公司有一個如何用Flash開發富互聯網應用的展示。
為什么Ajax更好?
可搜索
一般來說,web頁面比Flash頁面更容易被搜索引擎分析。搜索引擎可以根據你的網站的類型做出不同的反映。把Flash應用中的文字提取出來做
為索引是能夠實現。Google和其他的搜索引擎制作商能夠支持.swf文件的索引。盡管如此.swf文件還是更難被所有引擎分析。
開放性
盡管swf文件格式是公開的,并且也有一個很大的開源社區。但是沒有開源的Flash播放器來代替Macromedia的許可證。偏激的開發人員希望有更加開發的系統,而不希望依賴與第三方或者潛在的競爭對手也許希望避免使用Flash。
成本
Flash開發環境的成本是個問題。$700可能是一下小設計室的大投資。多數公司都希望成本最好是$0。
也有一些便宜的可選的工具如Swish,或者免費的Laszlo,但是這些工具不能發揮Flash全部優勢。
輔助工具
Ajax應用默認采用用戶環境中的字體和顏色設置,而Flash應用采用開發者指定的設置。這就使其難以適應殘疾用戶的要求。在一些特殊情況下需要屏幕閱讀器,加速鍵等,Flash應用就不能使用了。一個支持輔助工具的站點可以用Ajax實現。
安全
沒有Flash的Web應用一般來說比較安全,主要有以下原因:
- Flash一般用來做廣告
- 有可能被pop-up攔截器阻攔
- 他能產生不過期的cookie
結果很多用戶使用Flash攔截器來控制web訪問。或者不訪問Flash站點。
人們要編寫復雜的Ajax或者Flash應用肯定要用到一些高級工具。但是一般來說Ajax開發需要的工具比Flash的更簡單,更便宜。
Flash好在哪里?
處理多媒體
Flash比存HTML能更好的處理聲音和圖片。因為現在多媒體非常豐富,現在的前40位網站上大多數包含Flash。
兼容性:因為只有一個Flash播放器提供商,所以你不需要在不同的瀏覽器商經行測試。上面提到的開放性在這里是弱項。Web應用逐漸向兩個趨勢發展:
- 可用的瀏覽器明顯比幾年前要少,并且它們的bug也越來越少。
- 能夠跨瀏覽器兼容工作的庫越來越多。
矢量圖形
矢量圖形在多數瀏覽器中都是支持的,或通過SVG(Mozilla 1.5
原生支持,其他瀏覽器通過插件),或通過Canvas元素(Safari和Mozilla
1.5),或通過DirectAnimation(IE4+)。盡管如此,沒有一個實現是通用的,也沒有一個插件是免費的。
最近Google宣稱要通過Javascript實現一個叫ExplorerCanvas
的技術來使IE支持Canvas。
另外還有基于div的展示程序,例如Walter Zorn
訪問機器
Flash應用比web應用更好的訪問機器上資源。Flash應用程序可以訪問攝像頭和其他外圍設備。純web應用是做不到的。當然這也可以被看作一種缺點。
結論
哪個更好? 看你要干什么!