Silverlight 3與Flash尚有差距
體驗Silverlight 3
我在Windows和Mac OS操作系統上安裝了Silverlight,并分別使用自帶應用示例和我自己的內容對其進行了測試。
從用戶角度來看,Silverlight 3的***新功能之一是它可以支持脫離瀏覽器運行應用,當然前提是開發者啟用了該功能,它可以讓用戶將Silverlight應用作為一個單獨桌面應用來運行,支持啟動時運行和處理簡單本地數據存儲的功能。
在測試中,這個功能運行良好,不過它并不與Adobe AIR等桌面平臺處于同一層次。從更大程度上來看,它更類似于Mozilla Prism或Google Gears,不過它具有更豐富的多媒體功能。
定義一個在瀏覽器之外運行的應用是一件非常簡單的任務。只需從"項目"菜單中選擇"啟用在瀏覽器外運行應用"。然后該應用程序的用戶就可以選擇脫離瀏覽器運行它,以及創建桌面和開始菜單快捷方式。
Silverlight 3另一個漂亮的功能是"Smooth Streaming(平滑流媒體技術)",它實際上通過使用Windows Server 2008上IIS來傳輸內容而實現。這讓它可以傳輸內容,且能夠根據用戶網絡連接質量來迅速調整內容的質量和帶寬占用。
在視頻方面,Silverlight 3目前和Flash一樣可以支持H.264格式視頻和AAC音頻,從而可以提供基于互聯網的高品質音頻和視頻。Silverlight 3還包含幾個交互式和3D功能方面的改進,為用戶提供更強大的內容管理和控制功能。
創建Silverlight應用
創建Silverlight應用的傳統方法是,使用微軟 Expression Blend進行應用程序的富體驗設計,然后使用Visual Studio來完成開發任務。
這可能依然是目前只適合選用的模式,不過在即將于8月份正式推出的Expression Blend 3中,人們完全可以在一個開發環境中完成整個Silverlight應用的全部工作,我對Expression Blend 3的候選發布(RC)版進行了測試。
在Expression Blend 3中最有趣的新功能之一是SketchFlow工具,它可以為Silverlight應用創建原型。SketchFlow使應用程序能夠在視覺上模擬出簡單交互原型,并將一系列設計草圖(wireframe)用于未來的產品設計及開發中。
其背后的理念很明顯來自于微軟比爾·巴克斯頓(Bill Buxton)的著作《繪制用戶體驗草圖》(Sketching User Experiences),所謂草圖即鼓勵討論和協作,而不是最終產品的一個清晰原型。
通過SketchFlow,我可以創建一個顯示應用流程的工作流,然后通過拖拽創建示例接口,就像使用鉛筆畫流程圖一樣。我認為這種方式很好,不過它也支持用戶創建傳統意義的原型。
SketchFlow還能被導出為一個Web應用,從而可以更輕松的被團隊其它成員評價和審查。借助于這個應用,團隊成員可以在原型上實現協作,可以添加注解和直接修改原型。
對于那些希望在Expression Blend中開發的人,或那些已經在Visual Studio中創建了程序,但是不想因為進行一個小修改就要切換環境的人,Expression Blend 3中的增強代碼編輯器肯定非常受歡迎。
這個代碼編輯器除了具有編輯XAML代碼的傳統功能外,還可以讓你在Expression Blend中編輯C#和VB代碼。另外,它還提供了標準的微軟智能感知功能,能夠自動完成和提示代碼。
在Expression Blend 3中還有一個新功能,在生成和測試Silverlight數據應用程序時,能夠定義和使用樣本數據。
借助于Expression Blend 3中的Behaviors功能,可以創建、使用和重用代碼片段,無需編寫額外代碼,即可直接將其應用于設計環境中。舉例來說,一個簡單的媒體播放空間可以被直接拖拽到設計界面上。
另外,考慮Photoshop和Illustrator等Adobe工具中擁有豐富素材這個事實,Expression Blend 3可以直接導入這些工具的原始文件格式,并可以保留它們的元素和層。
總結
從很大程度上來說,微軟在Silverlight 3中做的還不錯,增加了許多功能,彌補了Silverlight與Flash的不少差距。
但是Silverlight依然落后于Adobe的Flash,并且落后于Adobe相關產品--AIR和Flex,缺少了一些人們在富互聯網應用(RIA)平臺中所期待的一些功能。
另外在市場滲透方面,Silverlight依然落后與Flash,這意味著那些期待更大用戶群的開發者仍將選擇Flash。最能證明此點的一個事實是,就連微軟自己也在使用了Flash技術,例如其新搜索引擎必應中備受熱議的視頻預覽功能。
不過,Silverlight 3仍不失為RIA領域一個非常有前途的產品,相比版本2有了重大的改進,尤其值得提及的是支持高清編碼和可脫離瀏覽器運行。盡管Silverlight不會取代Adobe的產品、Java、AJAX或HTML 5,卻也堪稱微軟平臺開發者的一個強大新工具。
基于Mono的Moonlight項目,現在能夠為Linux用戶提供Silverlight功能,不過Moonlight的功能不像Silverlight 3那樣豐富。
【編輯推薦】