在以前的一篇 我已經說明了Adobe和Microsoft在presentation layer的競爭關係。根據一些資料總結的功能,我針對Flash以及silverlight做了一個比較的圖表,後面我會針對每一個橫向對比做出說明。由於國內外對Flash和silverlight的比較文章幾乎沒有,因此沒法作為參考,文章中一些東西我不太確定的,請大家指出。
1 豐富的二維動畫/圖形和視音頻表現 Rich 2D animation/graphics with audio and video
這點毋庸置疑,兩個公司的產品都對這塊做出的很大的努力,但是還有有席位差別的。用過Blend和Flash這兩個軟體的朋友一定會發現兩個軟體的不同,比如Flash專屬的timeline形式和Blend強大的interaction面板等,從這一點可以看出,Bland對自己的interaction application develop tools的定位還是比較準確的,而Flash則是從basic到Professional版本涵蓋了動畫製作到RIA開發領域。
2 行業標準的視頻解碼器Industry standard video codec
先來介紹一下什麼是視頻解編碼:視頻壓縮是所有令人振奮的、新型視頻產品的重要動力。壓縮-解壓(編解碼)演算法可以實現數位視訊的儲存與傳輸。
典型的轉碼器要麼採用行業標準,如 MPEG2、MPEG4、H.264/AVC 與 AVS,要麼採用專有演算法,如 On2、Real Video等,而這兩個公司分別位於不同的陣營。
從資料中得知微軟的視頻解碼標準是:
SMPTE Society of Motion Picture and Television Engineers。而微軟則在此基於WMV 進行了標準化修改,現在則以 VC-1 的新名稱在業界實現了標準化—WMV9。
而Flash則是採用on2 VP6視頻編碼通訊協定,雖然沒有基於所謂的業界標準,但是on2是自己的專有演算法,也是可以在檔案大小和畫面品質間找到平衡。
因此是否採用行業標準的視頻編碼器,也就變得不那麼重要了。
3 硬體輔助解決方案Hardware-assisted editing and encoding solutions
這點不太清楚silverlight是如何進行硬體輔助的,但是Flash似乎是沒有的,不過Adobe的同門師兄弟DIRECTOR則支援硬體輔助的功能,不知道Adobe會不會做這方面的移植。
4 以XML為基礎的表現層有利於搜尋引擎最佳化XML-based presentation layer for SEO
眾所周知silverlight是基於XAML的,而所有的silverlight程式都是使用者下載後在用戶端由runtime來解釋並執行的,也就是所在用戶端可以看到程式的原始碼,這樣搜尋引擎就可以索引其中的內容了。
而Flash則是在匯出時產生swf格式的二進位檔案,並由使用者下載到本地由runtime執行,因此搜尋引擎很難對其進行索引。
5 標準的高效能程式設計語言 Choice of standards-based and high-performance languages
新版的silverlight已經支援使用javascript C# 以及VB進行開發,新版的Flash CS3則支援使用ActionScript 1 ActionScript 2 ActionScript 3 進行開發。雖然as3的出現使得ActionScript在效率上有了很大的提升,但是較之C#這樣的程式設計語言還是有比較大的差距。
6 端到端的伺服器和應用平台 End-to-end server and application platform
這點silverlight有著天然的優勢,其伺服器和應用平台經過這麼多年的發展已經具有了很大的壟斷優勢,而Flash相比較之下就顯得不盡如人意了,只是在最近今年有所進展(ColdFusion Jrun),但是對於微軟還沒有什麼優勢可言。
7 媒體伺服器license(無限頻寬) Media server licensing (unlimited bandwidth)
雖然具體的價錢不太清楚,但是Flash Media Server確實比我們想像中的貴,而 Windows Media Server就顯得平易近人多了。
這點沒什麼可說的 Adobe對Media Server的策略不是很成功,不過對於這個剛剛踏入2.0的伺服器端軟體來說,還需要給他一些時間。
8 用戶端廣告播放插入 Client side playlists for ad-insertion
這點兩家都有各自的技術實現,比如在視頻中加入提示點等多種插播廣告的方式。
9 視頻出版工具 Robust video publishing tools
在Flash中的視頻出版工具叫做Flash Media Encoder 提供了很多視頻編輯功能 相似的還有 微軟的expression中Media 也提供了很多視頻編輯的功能
10 高效能的用戶端 High-performance, multi-core enabled client
雖然我不太清除高效能的標準是什麼,但是我相信silverlight和FlashPlayer都是我們期待依舊的High-performance client
11 可調整全螢幕高清視頻(720p)Scalable full screen video up to HD (720p)
雖然Flash也支援全屏觀看,但是視頻的品質確實還是稍弱一些,而silverlight可以同時播放多段HD視頻的能力確實不容小看,再加上silverlight的video brush功能,確實比Flash視頻略勝一籌。
12 離線檔案操作Offline, document support
可以在本機存放區檔案,在Flash中是類似shareobject的功能,在silverlight中則還沒有提供類似功能,但是可以藉助javascript對cookie的操作來完成。
13 檔案格式是二進位或者文字格式設定Binary or Text Format
兩種檔案格式各有優勢,二進位的swf格式有利於源檔案的保護,而文本的xaml則對seo有很大的好處。
14 開發製作工具 Tools
Flash後端有Adobe強大的CS3系列套件的支援,從網頁三劍客到PhotoShop等圖形類軟體,在廣大設計和開發人員中有著非常好的口碑。
而silverlight擁有後來居上的expression套件,也是不容小視。
15 工具操作複雜性 Tools complex operation
這點我要單獨提出來是因為很多開發和設計人員已經習慣了Adobe的軟體操作以及工作方式,而讓他們一夜之間轉到微軟的expression上來確實有難度,而讓從業者習慣expression的操作和工作方式更是擺在微軟面前的難題
16 3D支援 3D Support
針對3D的支援,兩個player都沒有涉及,但是並不是說我們不能做3D的嘗試,Flash陣營中很多第三方開發人員基於ActionScript開發出了很多3D 引擎,而silverlight也可以讓使用者用微軟提供的開發語言進行3D引擎的開發。
17 用戶端大小(所需下載的安裝檔案大小)Client size
兩個player都是寄生於瀏覽器的外掛程式,因此安裝檔案的大小就是一個比較敏感的問題,但是兩個公司在這方面做的都很好,基本上使使用者可以很快下載並安裝。
18 所支援的作業系統 Supported operating systems
FlashPlayer支援的作業系統基本上囊括了所有作業系統甚至連帶手機的很多作業系統都有支援,這點是Flash一個很大的優勢,讓開發人員可以不必針對作業系統進行程式的修改。
Silverlight支援的作業系統相對Flash就少的多了,如果要讓WPF真的Everywhere,還有很多路要走。
總的來說,兩個公司的平台還是各有千秋的,還有很多細小的功能沒有進行詳細的對比,比如對Alpha通道視頻的支援,以及對文字的渲染等。兩個公司各自有各自的優勢,Adobe在player的佔有率,對各個作業系統的支援以及工具的普及率上有著很長時間的積累。而微軟在作業系統和應用軟體以及伺服器端軟體的壟斷地位則讓微軟有機會趕超。
作者:ai829 (80s.net.cn)