2009年01月1日
【比較】Adobe Flash v.s. Microsoft Silverlight 鹿死誰手?
Adobe Flash不用多解釋,只要有在上網的使用者,一定有接觸過Flash,可能現身為網頁裝飾,可能是個廣告,也可能是個小遊戲;Microsoft Silverlight 則是微軟的產品,中文譯作「銀光」,和Flash同樣是Web前端應用程式,今年又大動作地推出Silverlight 2,大有分庭抗禮的意味。事實上火藥味也早就開始彌漫,對於網頁開發者而言,這二道「光」的較勁遲早會有結果,要不要趁早擁抱Silverlight已經是個值得思考的問題了。
以目前的主流來看,畢竟Flash早在Silverlight出現的十年前就存在了,經過十次以上的大改版,以及為數龐大的背景資源(作品平台、教學網站、類別Package的開發與分享、業界共識),已經是很成熟且不可或缺的應用了,Flash現在正穩坐Web前端多媒體的寶座,誰知道竟然殺出程咬金-微軟。
如果今天是一家小公司跳出來對抗Flash,即使它開出來的規格再好,個人會覺得是自行往死胡同鑽(又稱:找死),主要是因為市佔率的關係,若沒有殺手級應用(killer application)的推廣,最終頂多成為叫好不叫座的悲劇,但是今天的對手是本身做OS和瀏覽器的Microsoft,雖然老牌了點,但還是和Google一樣影響力驚人,不動則矣,一出手必然血流成河。
觀看Silverlight的規格制定與生存優勢:
- 有了.NET的支援,同時讓各種程式語言躍上開發行列,不用像Flash要學習專用的ActionScript(AS),具備程式背景的人更容易進入。AS3的執行與編譯效能相對AS2的強化,就已經是Flash開發者津津樂道的改善,但如今以多媒體開發工具為主的Adobe要獨立面對已經成熟的Visual Studio團隊,函式庫與編譯器的背景恐怕不足。
- Flash的市佔率極高,是穩坐龍頭的保證,但是如果微軟利用下一代Windows 7,或接下來的視窗系列,在OS的改朝換代中,於IE瀏覽器附上或以策略方式讓Silverlight裝上使用者電腦,結果就大不相同了。採取這種手段必然又會引起抨擊,卻非常有效,且只要抽離商業色彩,通常會成功,就如同當初Windows系統附上IE的爭議。
- 根據微軟主管放出的消息,預計2009年推出的Silverlight 3 將會支援3D。不像Flash的PV3D、FIVe3D等愛好者自行開發的類別,採取軟體摸擬的方式,Silverlight 3 的3D可能獲得硬體加速,相較之下,Flash CS4中加上z值屬性、可以進行類3D的變形,就顯得相形見拙。原本也不應該用這麼高的標準來對待Web應用程式,但是微軟可以做到,因為它早已擁有Direct3D的經驗,如果再加上微軟先前以XBoX跨足TV game產業來推測動機,或許Silverlight是微軟想攻佔Web遊戲的第一步。
從上述可以概論如下:Flash的基礎廣大且穩固;Silverlight的背後支援龐大。二者還有一決雌雄的空間,況且Adobe也不是泛泛之輩,Flex的推出,結合了Flash與網頁製作,也是相當具有競爭力。個人認為未來勝負的關鍵就在於「整合」的力量,Adobe Creative Suite各種多媒體編輯能否互相支援?例如Flash中的影像或素材包直接引入Photoshop編輯或整合影音編輯(事實上,軟體間的內容素材交流正是CS4的賣點之一);Microsoft是否真能整合OS、Browser、3D、Compiler的優勢,還是說銀光最終仍敵不過佔有率,而成為隱隱若現的螢光?也或許會演變成錯開發展的局面,前者主打快速便利的網頁建構,後者走向大型精緻的Web 3D遊戲?一切還有待觀察。
雖然個人認為Silverlight前景不錯,但現階段仍然會擁抱Flash,主因是就業市場問題,而且阿道比(Adobe)的應變動向未明,除非自行中止版本更新,Flash已經不可能消失,就算Silverlight的安裝率站上80%加上規格超前,Flash也頂多像Java Applet般退居次位罷了。只要作品能保存延續,就會有創作的價值。
有一個部落格做了不少Flash與Silverlight的比較,做出同樣的功能,列出二者的程式碼(AS3 vs C#),然後交由觀眾投票孰優孰劣。有趣的是,結果幾乎都是Silverlight 勝出,不過這樣的投票有些主觀,加上取樣數略顯不足,且只能用共通的功能來相比,不能彰顯二者特有的部份,供參考就好,對於已經有Flash基礎想跳到Silverlight的人倒是可以從中學習。
網址:Shine Draw
http://www.shinedraw.com/
題外的玩笑話,Adobe Flash,前稱Shockwave Flash 後簡稱Flash,前身則是FutureSplash,縮減成Flash(閃光)後的稱呼容易多了,現在的Silverlight發音有3個音節不算很順口,以後要不要也依樣畫葫蘆改名為Sight(視覺) 呢?
相關連結:
- 維基百科(中):Adobe Flash | Microsoft Silverlight
- wikipedia(en): Adobe Flash | Microsoft Silverlight
- Flash 作品集:www.bestflashanimationsite.com | Adobe官網
- Silverlight 作品集:silverlight.net
- 清明上河圖:Flash版本 | Silverlight版本(連結可能已失效)
