
動(dòng)畫(huà)功能
Flash 使用基于幀的動(dòng)畫(huà)模式,在逐幀動(dòng)畫(huà)模式中,我們?yōu)槊總€(gè)幀創(chuàng)建對(duì)象并生成動(dòng)畫(huà)序列。比如你想讓一個(gè)對(duì)象在3秒內(nèi)穿過(guò)屏幕,計(jì)算一下3秒一共有多少幀,然后計(jì) 算每幀需要的矩陣。不過(guò) Flash 在實(shí)際播放中并不會(huì)真實(shí)地按設(shè)定的幀率播放,除非你在動(dòng)畫(huà)中插入一條空白的音軌。

Silverlight 基于 WPF 動(dòng)畫(huà)模式,WPF 是基于時(shí)間線,而不是幀的,你定義好起始于結(jié)束狀態(tài),WPF 幫你計(jì)算中間該怎么做,不必象 Flash 那樣同矩陣打交道,也不必計(jì)算在不同幀對(duì)象的位置。

文件尺寸
Flash 使用壓縮格式,文字和圖片內(nèi)嵌在整個(gè)文件中,因此 Flash 的文件尺寸非常小巧。

Silverlight 使用 XAML 作為描述語(yǔ)言,未經(jīng)過(guò)壓縮,因此 Silverlight 的文件尺寸通常要大一些。

腳本
Flash 使用 ActionScript, ActionScript 面向?qū)ο?,?duì)用戶(hù)界面設(shè)計(jì)有全面的控制,還可以同其它后端語(yǔ)言,如 PHP, ASP, Ruby On Rails 進(jìn)行集成交流,擁有一個(gè)強(qiáng)大的開(kāi)發(fā)庫(kù)。

Silverlight 的腳本可以選擇多種開(kāi)發(fā)語(yǔ)言,Visual C#.Net and Visual Basic.Net,也包括客戶(hù)端語(yǔ)言 JavaScript 。 C# 和 VB.net 可以用來(lái)編寫(xiě)托管代碼,并可以全面使用 .net 框架庫(kù)。

視頻和音頻
Flash 支持多種音頻格式,最新的音頻解碼器質(zhì)量非常高,而帶寬占用也非常出色。它的視頻解碼器,Sorenson 的專(zhuān)用 H.263 是 H.263 的變種,壓縮也接近,但去掉了一些功能。

Silverlight 使用的是行業(yè)標(biāo)準(zhǔn) VC-1 視頻解碼,并支持 WMV 和 WMA,Windows Movie Maker 可以很容易產(chǎn)生這兩種格式,同時(shí)微軟還提供免費(fèi)的 WMV, WMA 編碼器。
聲音處理
ActionScript 提供了一套聲音類(lèi)庫(kù),可以用來(lái)在動(dòng)畫(huà)中生成或控制聲音,你可以在動(dòng)畫(huà)播放期間從資源庫(kù)加入聲音,同時(shí) Flash 還有一些方法在整個(gè)動(dòng)畫(huà)中控制聲音。

Silverlight 沒(méi)有底層聲音控制 API,甚至無(wú)法播放一個(gè) WAV 文件,因?yàn)?.NET 在音頻播放上很薄弱。
可訪問(wèn)性
對(duì)那些有視覺(jué)或聽(tīng)覺(jué)缺陷的人,F(xiàn)lash 提供了豐富的可訪問(wèn)性功能,視頻字幕可以幫助聽(tīng)覺(jué)障礙者,而那些視覺(jué)障礙者需要通過(guò)鍵盤(pán)控制聲音的播放,人們可以使用鍵盤(pán)快捷鍵控制視頻播放。



Silverlight 3 首次提供對(duì)全部系統(tǒng)配色的支持,那些視力不佳的人可以調(diào)整到高對(duì)比度配色方案,在可訪問(wèn)性方面 Silverligth 比 Flash 差很多。
平臺(tái)兼容性
Flash 支持 Windows Vista/XP/2000, Windows Server 2003/2008, Mac OS 10.1/10.5 (PowerPC), Mac OS 10.1/10.5 (Intel), Linux 5, openSUSE 11, Ubuntu 7.10 or later and Solaris 10.
Silverlight 只支持 Windows Vista/XP/2000, Windows Server 2003/2008, Windows Mobile 6, Mac OS 10.1/10.5 (PowerPC) and Mac OS 10.1/10.5 (Intel)。由于不支持 Linux 和 Solaris,因此這些平臺(tái)的用戶(hù)無(wú)法體驗(yàn) Silverlight 。(不過(guò) .NET 在 Linux 平臺(tái)的第三方開(kāi)源項(xiàng)目,MONO 框架中的 MoonLight 支持 Linux - 譯者)
文字展示與SEO
Flash 中的文字是基于圖形的,F(xiàn)lash 播放器無(wú)法理解 TTF,因此我們無(wú)法從 Flash 動(dòng)畫(huà)中分離出文字。通常,F(xiàn)lash 對(duì) SEO 是不友好的,但 Adobe 已經(jīng)做出一些努力讓 Flash 中的文字可以索引,而搜索引擎也開(kāi)始嘗試索引 Flash 了。目前,Google 是唯一支持 Flash 索引的搜索引擎,他們同 Adobe 合作,設(shè)計(jì)相應(yīng)的可以理解 Flash 內(nèi)容的 Google 爬蟲(chóng)。 Yahoo 正在進(jìn)展中,鑒于微軟的 Silverlight 是 Flash 的競(jìng)爭(zhēng)者,他們不討可能在 MSN 中索引 Flash。
Silverlight 是基于 XAML 的,Silverlight 中的文字內(nèi)容是獨(dú)立存放的,可以被任何搜索引擎索引,因此對(duì)搜索引擎更友好。
支持的圖片格式
Flash 支持幾乎所有圖片格式。Silverlight 只支持 PNG 與 JPEG,其它格式提供有限的支持。
網(wǎng)絡(luò)編程
Flash 使用 XMLSocket 和服務(wù)器進(jìn)行溝通。

Silverlight 通過(guò) System.Net.Sockets 命名空間,對(duì)網(wǎng)絡(luò)編程提供全面支持,Silverlight 可以通過(guò) 4502 到 4534 端口異步傳輸數(shù)據(jù),也支持跨域通訊。
攝像頭的支持
Flash 支持網(wǎng)絡(luò)攝像頭和麥克風(fēng),使用 ActionScript 可以很容易操控?cái)z像頭或麥克風(fēng)。Silverlight 不支持?jǐn)z像頭和麥克風(fēng)。
部署
Flash 的部署只包含一個(gè)獨(dú)立的 SWF 文件,這個(gè)文件已經(jīng)包含了所有圖片,文字,動(dòng)畫(huà)。Silverlight 的部署要復(fù)雜一些,所有獨(dú)立的部件都要單獨(dú)部署,典型的 Silverlight 請(qǐng)求一般包含以下內(nèi)容:
XML 文件,
DLL 文件(如果有),
Silverlight.js,
其它JavaScript 文件,
資源文件 (圖片,視頻,音頻)

Windows 可執(zhí)行文件
Flash 動(dòng)畫(huà)可以編譯成獨(dú)立的 Windows 可執(zhí)行程序,在桌面播放。

Silverligth 不支持。
流媒體服務(wù)
Flash 不支持流媒體服務(wù)(雖然 FLV 控制了幾乎所有視頻網(wǎng)站,但那是另一回事-譯者)。
微軟基于 Windows Live 的 Silverlight 流媒體服務(wù)可以讓設(shè)計(jì)和開(kāi)發(fā)者分發(fā)富媒體,結(jié)合微軟的 Expression Studio,開(kāi)發(fā)與設(shè)計(jì)者們可以創(chuàng)建交互式 Web 程序。

結(jié)論
富 Internet 應(yīng)用的技術(shù)選擇向來(lái)存在很多爭(zhēng)議,在 Silverlight 和 Flash 中選擇,完全要看你的需求,如果你的用戶(hù)包括 Linux 和 Solaris 平臺(tái)的,F(xiàn)lash 是不二之選,如果希望你的網(wǎng)站可以被索引,Silverlight 更好一些。
另外需要指出的是,安裝了 Silverligth 插件的用戶(hù)尚在少數(shù),而絕大多數(shù)用戶(hù)的瀏覽器中都安裝了 Flash 插件,另外,SWF, FLA, FLV 幾乎成了開(kāi)發(fā)標(biāo)準(zhǔn)格式,而 Silverligth 還是100%私有格式(然而 Silverlight 已經(jīng)是明文了,還談什么開(kāi)放不開(kāi)放 - 譯者)。
快速對(duì)比 Features Flash Silverlight Animation . better File size better . Scripting . better Video/Audio . better Sound processing better . Accessibility better . Platform compatibility better . Text representation/SEO . better Supported image formats better . Socket programming better . Webcam support better . Deployment better . Windows application better . Media streaming . better
本文國(guó)際來(lái)源:http://www./2009/05/09/flash-vs-silverlight-what-suits-your-needs-best/