互聯網經歷過Web 2.0的洗禮后,網絡用戶不僅僅局限于簡單的交互功能,而對網絡產品的體驗性要求越來越高,對此RIA(Rich Internet Application)技術隨之而來。目前RIA技術的焦點主要集中在微軟的Silverlight技術和Adobe的Flash技術,相對來說,Silverlight比Flash晚推出數年,但是其發展勢頭和發展方向一直和Flash遙相呼應。近些日子,在 CSDN論壇 和 銀光中國網專注Silverlight的 ,經常會看到一些新人的提問,什么情況下使用Silverlight技術,而什么情況下使用Flash技術呢? 本文將對此進行簡單的對比和描述,但是在正文開始前,我想提前說一下,文章中沒有對某一門技術進行抨擊或者貶低的言語,只是提出個人觀點,供大家參考,如果您有不同的看法,歡迎留言討論。
Flash 10.1& AIR2
Flash的開發工具,Adobe的Flash開發平臺提供開源的Flex SDK,另外提供免費Flex編譯器,IDE開發工具是使用基于Eclipse IDE的 Flash Builder 。其運行環境是基于瀏覽器的Flash Player和Adobe的AIR,該運行環境支持Windows,Mac和Linux平臺,并且支持RIA應用直接安裝到桌面,其運行效果和功能與本地應用相同。 另外,Adobe利用其自身強大的設計開發工具背景,提供一系列Flash開發輔助工具,為開發人員或者美工設計人員提供強大的并且專業的交互設計支持,這里值得一提的是 Flash Catalyst ,該軟件快速的設計出專業的Flash用戶界面和行為腳本。
按照目前市場占有率分析,Flash仍舊具有較大的用戶群,這不僅僅是歸功于Flash Player的普及,Flash本身強大的Digital權限管理,流媒體功能,以及Flash Access 2.0數據下載等功能也是功不可沒。在遠程網絡方面,Flash支持SOAP和REST Web Services,另外支持ASP.NET,J2EE,PHP,BlazeDS和ColdFusion等不同語言平臺的數據服務。在開發語言上,ActionScript 3從早期的腳本語言發展到現在面向對象,事件驅動的強大的開發語言,也是一個強大的優勢。新版的AIR 2發布后,Adobe將重心放在桌面應用開發上,其強大的調用本地代碼類庫的功能使其應用功能更為強大,AIR2的桌面應用可調用.Net或者Java的已有類庫,同時該桌面應用支持UDP,IPv6等網絡協議。作為Windows客戶端,其強大的DRM控制可以提供流媒體數字版權控制。
Silverlight 4
微軟的Silverlight開發平臺同樣為開發人員提供專用的運行環境和SDK,其IDE開發工具是Visual Studio系列,同樣,微軟也提供了免費開發工具 Visual Web Developer Express版本 ,Silverlight應用也是基于瀏覽器Silverlight Runtime,該運行環境直接Windows,Mac和Linux平臺,Silverlight 3版本以后,支持 Out-of-Browser模式應用 ,可將Silverlight應用作為桌面應用方式安裝到本地運行。不僅如此,微軟將F#運行環境同時集成到Silverlight中,這樣可以輕松開發出Silverlight和基于Ajax技術的應用。對于輔助設計軟件,微軟提供了Expression Studio系列產品,該產品包括 Blend,Design,Encoder 等系列輔助設計工具,用于Silverlight項目布局,素材,動畫等設計功能,其中需要特別說明的是 Expression Blend ,該工具和Flash Catalyst很相似,輔助設計Silverlight項目交互界面,另外Blend和Visual Studio可以實現無縫結合,減輕了開發人員和設計人員的后期項目綜合的負擔。
對于Silverlight 4的新功能介紹和其優勢,這里我不在贅述,大家可以參考這篇文章“ Silverlight 4正式版 ”
在對比過Silverlight和Flash后,大家也許能發現,微軟Silverlight中時常會發現許多Flash的影子,而在有了Flash的基礎上,似乎更容易為Silverlight做出評估。這里我使用一個簡單的表格進行對比:
|
Silverlight 4 |
Flash 10.1/AIR 2 |
客戶端平臺支持 |
Silverlight 4 支持運行在 Windows XP SP3 , Windows 7/Vista , Windows Server 2003 SP2 , Windows Server 2008 SP2 , Windows Phone 7 , Symbian 系統平臺,另外支持 Windows , Mac 和 Linux 下主流瀏覽器作為運行平臺。 |
Flash 支持運行在 Windows XP SP3, Windows 7/Vista, Mac OS X, and Linux (Fedora Core 12, Ubuntu 9.10, OpenSuse 11.2); Flash Player 10.1 for Android. 當前仍舊沒有支持 64 位 Windows 系統的 Flash Player 。 |
開發 IDE 工具 |
主要開發工具是 Visual Studio 2010 ,需要安裝 Silverlight 4 developer tools 和相關 SDK ,以及 WCF RIA Services 1.0 安裝包。可使用 WCF RIA Services 開發模板,創建 n-Tier 數據存儲應用。具有優秀的 Debug 功能。同時具有強大的 Silverlight Toolkit 開發工具包支持。 |
主要開發工具 Flash Builder 可以綁定開發 Flash 和 AIR 應用。但是代碼轉換過程需要另外的輔助工具 BlazeDS 或者 LiveCycle 支持。 ActionScript 的 Debug 功能相對弱于 Visual Studio 。 |
UI 設計 |
主要設計工具 Expression Blend 4 ,該工具不僅提供 UI 控制,還可以進行動畫設計以及行為代碼設計。該工具同時包含 Xaml 代碼設計界面和后臺代碼設計界面。該工具與 Visual Studio2010 無縫結合,使設計和代碼后期綜合變的輕松異常。另外 Visual Studio 2010 同時支持 Silverlight UI 設計。 |
Flash Catalyst 是 Flash 主要設計工具,與 CS5 設計工具系列無縫結合,可以輕松導入項目。但是其他設計工具修改文件時,不能在 Flash Catalyst 中重新打開,作為設計工具,這點略遜與微軟設計工具。 |
媒體編碼 |
支持音頻 / 視頻格式: WMV/WMA, H.264, MP3, AAC 。 |
支持音頻 / 視頻格式: Sorenson Spark, ON2 VP6, H.264, F4V. ADPCM, MP3, AAC, Speex. |
數字版權( DRM ) |
支持 Windows Media Digital Rights Management 10 (WMDRM 10) 和 Microsoft PlayReady DRM 加密流媒體。目前暫時不支持 Linux 客戶端。 |
Flash Access 2 通過 Flash 或者 AIR 客戶端提供內容保護和設備存取安全控制。相對來說其驗證機制和開發規則較為規范。支持 HDCP 標識。支持 Flash Media 服務平臺和 Http 動態數據流。 |
這樣看來應該更容易幫助大家理解和認識Silverlight和Flash這兩個技術的不同和相同點。
那么具體到項目, 該如何取舍兩門技術呢?
首先我們需要客觀的說,Flash在RIA技術中仍舊處于龍頭地位,終歸Flash Player具有全球瀏覽器93%的裝機量作為支持,為Flash提供了非常廣的應用范圍。
但是,我們也不得不承認Silverlight發展速度的迅速,從Silverlight 1.0到4.0,我們目睹著Silverlight在一天天的進步,逐漸變的強大,而客戶群也在穩定增長當中。終歸微軟仍舊占據瀏覽器市場的50%份量,作為瀏覽器插件Silverlight也是具有相當大的潛在力量。
個人觀點,從微軟和Adobe兩個公司的發展歷史來看,微軟的產品更注重于開發人員,而Adobe的產品偏向于設計人員。這也就是說,在項目中,如果需要大量的程序編碼和數據存取操作,特別是基于Windows平臺的應用,Silverlight自然是首選。而如果項目中涉及少量的服務調用,需要展現大量的圖形圖像效果,或者是說在開發過程中,美工設計部分屬于重點,則推薦使用Adobe的Flash,終歸Adobe的設計工具在業界一直作為首選。
從目前來看未來Flash和Silverlight的競爭,也許是在移動平臺上的表現。Flash剛被蘋果解除封殺,目前有望第一步占領iPhone和iPad平臺,而Silverlight已經被Windows Phone 7所支持,下周12號Windows Phone 7正式發布,市場占有率還有待觀望。不過兩者所需搶占的下一個移動平臺主戰場應該是Android平臺,終歸Android平臺已經被不少手機平臺所支持,作為開源平臺,同時也被大部分應用開發廠商關注。
最后附上InfoWorld.Com對Flash10.1/AIR2和Silverlight 4各項測試評分表,供大家參考:
更多關于Silverlight和Flash對比文章:
網絡戰國——Flash, Silverlight與HTML5
歡迎大家加入“專注Silverlight”QQ技術群,目前,1-6群都已經滿員,新開500人七群,歡迎大家加入一起學習討論Silverlight&WPF開發技術。
22308706(一群) 超級群500人滿
37891947(二群) 超級群500人滿
100844510(三群) 高級群200人滿
32679922(四群) 超級群500人滿
23413513(五群) 高級群200人滿
32679955(六群) 超級群500人滿
61267622(七群 推薦) 超級群500人未滿
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
