风云点评:Flash 与 Silverlight 终极大比拼
風(fēng)云點評:
原文:
自 Silverlight 1.0 發(fā)布以來,Web 開發(fā)與設(shè)計者們關(guān)于該選擇 Flash 和 Silverlight 的爭論便開始了,在成熟的 Flash 面前,Silverlight 面臨著如何贏得市場的難題。然而 Silverlight 中包含了一些開發(fā)設(shè)計者們一直希望 Flash 能擁有的功能,諸如SEO,本文對 Flash 和 Silverlight 的技術(shù)細(xì)節(jié)進行了詳盡的對比。
動畫功能
Flash 使用基于幀的動畫模式,在逐幀動畫模式中,我們?yōu)槊總€幀創(chuàng)建對象并生成動畫序列。比如你想讓一個對象在3秒內(nèi)穿過屏幕,計算一下3秒一共有多少幀,然后計 算每幀需要的矩陣。不過 Flash 在實際播放中并不會真實地按設(shè)定的幀率播放,除非你在動畫中插入一條空白的音軌。
Silverlight 基于 WPF 動畫模式,WPF 是基于時間線,而不是幀的,你定義好起始于結(jié)束狀態(tài),WPF 幫你計算中間該怎么做,不必象 Flash 那樣同矩陣打交道,也不必計算在不同幀對象的位置。
文件尺寸
Flash 使用壓縮格式,文字和圖片內(nèi)嵌在整個文件中,因此 Flash 的文件尺寸非常小巧。
Silverlight 使用 XAML 作為描述語言,未經(jīng)過壓縮,因此 Silverlight 的文件尺寸通常要大一些。
腳本
Flash 使用 ActionScript, ActionScript 面向?qū)ο?#xff0c;對用戶界面設(shè)計有全面的控制,還可以同其它后端語言,如 PHP, ASP, Ruby On Rails 進行集成交流,擁有一個強大的開發(fā)庫。
Silverlight 的腳本可以選擇多種開發(fā)語言,Visual C#.Net and Visual Basic.Net,也包括客戶端語言 JavaScript 。 C# 和 VB.net 可以用來編寫托管代碼,并可以全面使用 .net 框架庫。
視頻和音頻
Flash 支持多種音頻格式,最新的音頻解碼器質(zhì)量非常高,而帶寬占用也非常出色。它的視頻解碼器,Sorenson 的專用 H.263 是 H.263 的變種,壓縮也接近,但去掉了一些功能。
Silverlight 使用的是行業(yè)標(biāo)準(zhǔn) VC-1 視頻解碼,并支持 WMV 和 WMA,Windows Movie Maker 可以很容易產(chǎn)生這兩種格式,同時微軟還提供免費的 WMV, WMA 編碼器。
聲音處理
ActionScript 提供了一套聲音類庫,可以用來在動畫中生成或控制聲音,你可以在動畫播放期間從資源庫加入聲音,同時 Flash 還有一些方法在整個動畫中控制聲音。
Silverlight 沒有底層聲音控制 API,甚至無法播放一個 WAV 文件,因為 .NET 在音頻播放上很薄弱。
可訪問性
對那些有視覺或聽覺缺陷的人,Flash 提供了豐富的可訪問性功能,視頻字幕可以幫助聽覺障礙者,而那些視覺障礙者需要通過鍵盤控制聲音的播放,人們可以使用鍵盤快捷鍵控制視頻播放。
Silverlight 3 首次提供對全部系統(tǒng)配色的支持,那些視力不佳的人可以調(diào)整到高對比度配色方案,在可訪問性方面 Silverligth 比 Flash 差很多。
平臺兼容性
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,因此這些平臺的用戶無法體驗 Silverlight 。(不過 .NET 在 Linux 平臺的第三方開源項目,MONO 框架中的 MoonLight 支持 Linux - 譯者)
文字展示與SEO
Flash 中的文字是基于圖形的,Flash 播放器無法理解 TTF,因此我們無法從 Flash 動畫中分離出文字。通常,Flash 對 SEO 是不友好的,但 Adobe 已經(jīng)做出一些努力讓 Flash 中的文字可以索引,而搜索引擎也開始嘗試索引 Flash 了。目前,Google 是唯一支持 Flash 索引的搜索引擎,他們同 Adobe 合作,設(shè)計相應(yīng)的可以理解 Flash 內(nèi)容的 Google 爬蟲。 Yahoo 正在進展中,鑒于微軟的 Silverlight 是 Flash 的競爭者,他們不討可能在 MSN 中索引 Flash。
Silverlight 是基于 XAML 的,Silverlight 中的文字內(nèi)容是獨立存放的,可以被任何搜索引擎索引,因此對搜索引擎更友好。
支持的圖片格式
Flash 支持幾乎所有圖片格式。Silverlight 只支持 PNG 與 JPEG,其它格式提供有限的支持。
網(wǎng)絡(luò)編程
Flash 使用 XMLSocket 和服務(wù)器進行溝通。
Silverlight 通過 System.Net.Sockets 命名空間,對網(wǎng)絡(luò)編程提供全面支持,Silverlight 可以通過 4502 到 4534 端口異步傳輸數(shù)據(jù),也支持跨域通訊。
攝像頭的支持
Flash 支持網(wǎng)絡(luò)攝像頭和麥克風(fēng),使用 ActionScript 可以很容易操控攝像頭或麥克風(fēng)。Silverlight 不支持?jǐn)z像頭和麥克風(fēng)。
部署
Flash 的部署只包含一個獨立的 SWF 文件,這個文件已經(jīng)包含了所有圖片,文字,動畫。Silverlight 的部署要復(fù)雜一些,所有獨立的部件都要單獨部署,典型的 Silverlight 請求一般包含以下內(nèi)容:
XML 文件,
DLL 文件(如果有),
Silverlight.js,
其它JavaScript 文件,
資源文件 (圖片,視頻,音頻)
Windows 可執(zhí)行文件
Flash 動畫可以編譯成獨立的 Windows 可執(zhí)行程序,在桌面播放。
Silverligth 不支持。
流媒體服務(wù)
Flash 不支持流媒體服務(wù)(雖然 FLV 控制了幾乎所有視頻網(wǎng)站,但那是另一回事-譯者)。
微軟基于 Windows Live 的 Silverlight 流媒體服務(wù)可以讓設(shè)計和開發(fā)者分發(fā)富媒體,結(jié)合微軟的 Expression Studio,開發(fā)與設(shè)計者們可以創(chuàng)建交互式 Web 程序。
Internet 應(yīng)用的技術(shù)選擇向來存在很多爭議,在 Silverlight 和 Flash 中選擇,完全要看你的需求,如果你的用戶包括 Linux 和 Solaris 平臺的,Flash 是不二之選,如果希望你的網(wǎng)站可以被索引,Silverlight 更好一些。
另外需要指出的是,安裝了 Silverligth 插件的用戶尚在少數(shù),而絕大多數(shù)用戶的瀏覽器中都安裝了 Flash 插件,另外,SWF, FLA, FLV 幾乎成了開發(fā)標(biāo)準(zhǔn)格式,而 Silverligth 還是100%私有格式(然而 Silverlight 已經(jīng)是明文了,還談什么開放不開放 - 譯者)。
轉(zhuǎn)載于:https://www.cnblogs.com/slteam/archive/2009/05/18/1459388.html
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的风云点评:Flash 与 Silverlight 终极大比拼的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Excel列数和列字母的转换(colum
- 下一篇: Crypto API 学习笔记一