Microsoft Silverlight舊稱Windows Presentation Foundation/Everywhere,即WPF/E,中文譯為銀光,是美國微軟公司跨流覽器、跨平臺的 RIA web 解決方案。
這是微軟所推展類似於Flash相同的解決方案,但其表現來說,面對Flash絲毫也不遜色,Silverlight是免費內嵌在瀏覽器裡的Plug-in(外掛程式),所以除了在微軟本身的IE之外,也可以裝在Firefox、Safari等瀏覽器上。
Silverlight可用以下四個層面來說明:
一、跨瀏覽器的使用者體驗
RIA(Rich Interactive Applications)在微軟的解釋是強調互動(Interactive),是要帶給使用者與系統之間的互動及視覺化的感受。Silverlight在網頁上可包含了影片、動畫、互動事件反應及令人昏眩的使用者介面。
格式上有向量式圖形、影音多媒體、文字、動畫及重疊能力,加上可運用在現有的網頁或Ajax的程式架構上。
二、語言模組與協同合作工具
Silverlight是基於微軟.NET Framework之上,現有的開發者或設計者能以既有熟悉的技巧,輕易開發出互動性的網頁程式,後端部分也支援了Apache、PHP。不過就以開發語言來說,可以用C#、VB .NET、JavaScript、Ruby、Python等來撰寫邏輯程式。
Silverlight背後的展現層模組是使用XAML來宣告,所有的控制件、視覺化設計、多媒體元件,都是利用XAML來控制。這與Adobe Flex的MXML是相同的。
三、多媒體支援能力
視訊支援了720HD(High Definition),這是由電影電視工程師協會(Society of Motion Picture and Television Engineers; SMPTE)所提出的視訊壓縮標準,其技術基礎來自微軟的Windows Media Video(WMV-9),所以可提供流暢又不失真的高畫質影片。聲音部分則為WMA(Windows Media Audio)及MP3格式。
Silverlight的數位版權管理DRM(Digital Rights Management)也己支援,更還有微軟Media Encoder編碼工具來方便製作線上影音播放請求。
四、混搭(Mesh-up)網路服務能力
Web 2.0的來臨,所以網頁系統混搭(Mesh-up)能力很重要,Silverlight也不例外,支援LINQ(Language Integrated Query)、LINQ-to-XML,用在JSON、RSS、POX及REST存取上特別管用。另外,微軟的Windows Live提供一個免費空間服務,可以快速將Silverlight程式及多媒體內容整合起來。
Silverlight還有很重要一點特色在於,因為是XAML(eXtensible Application Markup Language)格式,所以可以將文字寫在Silverlight程式的介面或內文上,做全文檢索或文字搜尋時,就可派上用場。
Silverlight與Adobe Flash、Flex、AIR一樣為使用者互動提供了嶄新的解決方案,以開發角度來看,.NET開發者可以用.NET的程式語言VB.NET、C#, 甚至Javascript、Python、Ruby(多種語言)等來實現Silverlight於網頁上,而Adobe的開發者就必須熟悉 ActionScript 3在Flex應用程式上(ActionScript 3單一語言),雙方各有愛好支持者,從過去歷史觀之,在.NET推廣的浪潮下,己讓各領域應用層面達到相當高的比例,加上Silverlight是附著在.NET平臺策略上的一個重要技術,Silverlight與Adobe Flash到底哪一個好,最終還是得由大環境與使用者來決定。
(參考資料:http://www.2003kj.twycf.com/wordpress/?p=115)