自 Silverlight 1.0 釋出以來,Web 開發與設計者們關于該選擇 Flash 和 Silverlight 的争論便開始了,在成熟的 Flash 面前,Silverlight 面臨着如何赢得市場的難題。然而 Silverlight 中包含了一些開發設計者們一直希望 Flash 能擁有的功能,諸如SEO,本文對 Flash 和 Silverlight 的技術細節進行了詳盡的對比。
Flash 使用基于幀的動畫模式,在逐幀動畫模式中,我們為每個幀建立對象并生成動畫序列。比如你想讓一個對象在3秒内穿過螢幕,計算一下3秒一共有多少幀,然後計算每幀需要的矩陣。不過 Flash 在實際播放中并不會真實地按設定的幀率播放,除非你在動畫中插入一條空白的音軌。
<a href="http://www.webdesigndev.com/"></a>
Silverlight 基于 WPF 動畫模式,WPF 是基于時間線,而不是幀的,你定義好起始于結束狀态,WPF 幫你計算中間該怎麼做,不必象 Flash 那樣同矩陣打交道,也不必計算在不同幀對象的位置。
<a href="http://blogs.conchango.com/"></a>
Flash 使用壓縮格式,文字和圖檔内嵌在整個檔案中,是以 Flash 的檔案尺寸非常小巧。
<a href="http://wareseeker.com/"></a>
Silverlight 使用 XAML 作為描述語言,未經過壓縮,是以 Silverlight 的檔案尺寸通常要大一些。
<a href="http://www.microsoft.com/"></a>
Flash 使用 ActionScript, ActionScript 面向對象,對使用者界面設計有全面的控制,還可以同其它後端語言,如 PHP, ASP, Ruby On Rails 進行內建交流,擁有一個強大的開發庫。
<a href="http://actionscript.org/"></a>
Silverlight 的腳本可以選擇多種開發語言,Visual C#.Net and Visual Basic.Net,也包括用戶端語言 JavaScript 。 C# 和 VB.net 可以用來編寫托管代碼,并可以全面使用 .net 架構庫。
<a href="http://joymon.googlepages.com/"></a>
Flash 支援多種音頻格式,最新的音頻解碼器品質非常高,而帶寬占用也非常出色。它的視訊解碼器,Sorenson 的專用 H.263 是 H.263 的變種,壓縮也接近,但去掉了一些功能。
<a href="http://technet.microsoft.com/"></a>
Silverlight 使用的是行業标準 VC-1 視訊解碼,并支援 WMV 和 WMA,Windows Movie Maker 可以很容易産生這兩種格式,同時微軟還提供免費的 WMV, WMA 編碼器。
ActionScript 提供了一套聲音類庫,可以用來在動畫中生成或控制聲音,你可以在動畫播放期間從資源庫加入聲音,同時 Flash 還有一些方法在整個動畫中控制聲音。
<a href="http://www.prepresstraining.com/"></a>
Silverlight 沒有底層聲音控制 API,甚至無法播放一個 WAV 檔案,因為 .NET 在音頻播放上很薄弱。
對那些有視覺或聽覺缺陷的人,Flash 提供了豐富的可通路性功能,視訊字幕可以幫助聽覺障礙者,而那些視覺障礙者需要通過鍵盤控制聲音的播放,人們可以使用鍵盤快捷鍵控制視訊播放。
Silverlight 3 首次提供對全部系統配色的支援,那些視力不佳的人可以調整到高對比度配色方案,在可通路性方面 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 - 譯者)
Flash 中的文字是基于圖形的,Flash 播放器無法了解 TTF,是以我們無法從 Flash 動畫中分離出文字。通常,Flash 對 SEO 是不友好的,但 Adobe 已經做出一些努力讓 Flash 中的文字可以索引,而搜尋引擎也開始嘗試索引 Flash 了。目前,Google 是唯一支援 Flash 索引的搜尋引擎,他們同 Adobe 合作,設計相應的可以了解 Flash 内容的 Google 爬蟲。 Yahoo 正在進展中,鑒于微軟的 Silverlight 是 Flash 的競争者,他們不讨可能在 MSN 中索引 Flash。
Silverlight 是基于 XAML 的,Silverlight 中的文字内容是獨立存放的,可以被任何搜尋引擎索引,是以對搜尋引擎更友好。
Flash 支援幾乎所有圖檔格式。Silverlight 隻支援 PNG 與 JPEG,其它格式提供有限的支援。
Flash 使用 XMLSocket 和伺服器進行溝通。
<a href="http://www.adobe.com/"></a>
Silverlight 通過 System.Net.Sockets 命名空間,對網絡程式設計提供全面支援,Silverlight 可以通過 4502 到 4534 端口異步傳輸資料,也支援跨域通訊。
Flash 支援網絡攝像頭和麥克風,使用 ActionScript 可以很容易操控攝像頭或麥克風。Silverlight 不支援攝像頭和麥克風。
Flash 的部署隻包含一個獨立的 SWF 檔案,這個檔案已經包含了所有圖檔,文字,動畫。Silverlight 的部署要複雜一些,所有獨立的部件都要單獨部署,典型的 Silverlight 請求一般包含以下内容:
XML 檔案,
DLL 檔案(如果有),
Silverlight.js,
其它JavaScript 檔案,
資源檔案 (圖檔,視訊,音頻)
Flash 動畫可以編譯成獨立的 Windows 可執行程式,在桌面播放。
Silverligth 不支援。
Flash 不支援流媒體服務(雖然 FLV 控制了幾乎所有視訊網站,但那是另一回事-譯者)。
微軟基于 Windows Live 的 Silverlight 流媒體服務可以讓設計和開發者分發富媒體,結合微軟的 Expression Studio,開發與設計者們可以建立互動式 Web 程式。
<a href="http://msdn.microsoft.com/"></a>
富 Internet 應用的技術選擇向來存在很多争議,在 Silverlight 和 Flash 中選擇,完全要看你的需求,如果你的使用者包括 Linux 和 Solaris 平台的,Flash 是不二之選,如果希望你的網站可以被索引,Silverlight 更好一些。
另外需要指出的是,安裝了 Silverligth 插件的使用者尚在少數,而絕大多數使用者的浏覽器中都安裝了 Flash 插件,另外,SWF, FLA, FLV 幾乎成了開發标準格式,而 Silverligth 還是100%私有格式(然而 Silverlight 已經是明文了,還談什麼開放不開放 - 譯者)。
Features
Flash
Silverlight
Animation
.
better
File size
Scripting
Video/Audio
Sound processing
Accessibility
Platform compatibility
Text representation/SEO
Supported image formats
Socket programming
Webcam support
Deployment
Windows application
Media streaming
<a target="_blank" href="http://www.cnblogs.com/lhb25/p/must-read-links-for-web-designers-and-developers-volume-12.html">Web 前端工程師和設計師必讀精華文章推薦</a>
<a href="http://www.cnblogs.com/lhb25//lhb25/archive/2011/07/28/html5-awesome-single-page-sites-inspiration.html" target="_blank">酷!15個精美的 HTML5 單頁網站作品欣賞</a>
<a target="_blank" href="http://www.cnblogs.com/lhb25//lhb25/archive/2011/11/22/best-awesome-css3-animation-demos.html">炫!35個讓人驚訝的 CSS3 動畫效果示範</a>
<a href="http://www.cnblogs.com/lhb25//lhb25/archive/2012/03/02/30-mind-blowing-parallax-scrolling-effect-websites.html" target="_blank">贊!30個與衆不同的優秀視差滾動效果網站</a>
<a target="_blank" href="http://www.cnblogs.com/lhb25//lhb25/archive/2012/01/13/25-outstanding-single-page-website-designs.html">靓å!25個優秀的國外單頁網站設計作品欣賞</a>
<a target="_blank" href="http://www.cnblogs.com/lhb25//lhb25/archive/2011/08/09/awesome-html5-and-javascript-effects.html">帥!8個驚豔的 HTML5 和 JavaScript 特效</a>
<a href="http://www.cnblogs.com/lhb25//lhb25/archive/2011/06/27/35-exclusive-rainbow-colored-flash-websites.html" target="_blank">頂!35個很漂亮的國外 Flash 網站作品欣賞</a>
<a href="http://www.cnblogs.com/lhb25//lhb25/archive/2011/08/24/outstanding-admin-panels-part-one.html" target="_blank">哇!34個漂亮網站和應用程式背景管理界面</a>

<a href="http://www.yyyweb.com/go/web" target="_blank">本部落格新站點 ◆ 前端裡 ◆ 歡迎圍觀:)</a>
歡迎任何形式的轉載,但請務必注明出處。