Microsoft Silverlight

Microsoft Silverlight微軟所開發的Web前端應用程式開發解決方案,是微軟豐富型互聯網應用程式(Rich Internet Application)策略的主要應用程式開發平台之一,以瀏覽器外掛元件方式提供Web應用程式中多媒體(含影音串流與音效串流)與高度互動性前端應用程式的解決方案,同時它也是微軟UX(用戶體驗)策略中的一環,也是微軟試圖將美術設計和程式開發人員的工作明確切分與協同合作發展應用程式的嘗試之一(另一個為WPF)。

Microsoft Silverlight
Silverlight Logo
開發者微軟
首次發佈2007年9月5日,​17年前​(2007-09-05
目前版本5.1.50918.0 (2019年1月15日 (2019-01-15))[1]
程式語言C++C♯的結合
作業系統跨平台
Microsoft WindowsLinux[2]macOSSymbian OS[3]
類型Web應用程式開發框架
許可協定Silverlight許可協定
網站www.microsoft.com/silverlight/
www.silverlight.net

目前Silverlight已經逐步停止被各主流瀏覽器支援,包含Internet ExplorerFirefoxOperaSafari等,同時也包括macOS作業系統。與Silverlight相同的開放原始碼解決方案「Mono」則提供在Linux上的支援。

Microsoft Silverlight被視為與Adobe Flash PlayerUnity競爭的WEB技術。

台灣微軟為推廣Silverlight技術而推出擬人化形象藍澤光

由於Silverlight安全性和效能不甚理想,微軟在2013年已明確不再開發新功能,僅修補漏洞,而在2021年10月12日終止其支援[4][5]

特色

Silverlight是微軟前端用戶介面技術Windows Presentation Foundation(WPF)的一個子集,同時也是XAML(eXtensible Application Markup Language)的子集,具有向量式的繪圖能力,以及多媒體與圖形顯示的支援,開發人員能夠使用宣告式開發(declarating development)來發展Silverlight應用程式,而宣告式開發的特性也讓它能夠和設計工具來整合,因此微軟特別為Silverlight和WPF發展了Microsoft Expression Blend英語Microsoft Blend工具供設計人員使用。

Silverlight支援串流媒體能力,特別是針對Windows Media的Streamming Media支援,以及MP3等音效串流支援,讓企業得以使用Silverlight發展出多媒體型應用程式,在圖像支援方面,Silverlight 2.0的Deep Zoom技術可以讓大型的圖片或影像得以利用分段下載的瀏覽方式來顯示在前端,台灣國立故宮博物院在2008年曾開發出以Deep Zoom技術的清明上河圖Silverlight版本[6]

在Windows平台上,Silverlight的底層是透過XNA Framework來處理繪圖。一種將DirectX Graphics封裝成.Net Framework的版本的類別庫。

版本

Silverlight 1.0

Silverlight 1.0由許多核心展示層架構組成,這關係到用戶介面(UI),用戶輸入(user input),基本用戶介面控制元件(basic UI controls),圖形(graphics)和動畫(animation)、媒體播放(media playback),數碼權管理(DRM)的支援,以及DOM的整合[7]。其組件如下:

一個銀光程式(Silverlight)的起點是從網頁呼叫銀光元件(Silverlight control)開始,必須載入XAML檔。The XAML file包含一個Canvas物件,扮演着一個placeholder的角色。Silverlight提供各種不同的幾何基元,像是:線、橢圓以及其它形狀

一個典型的Silverlight 1.0程式的HTML hosting如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>UntitledProject1</title>
	<script type="text/javascript" src="Silverlight.js"></script>
	<script type="text/javascript" src="Page.xaml.js"></script>
	<style type="text/css">
		.silverlightHost {
			height: 480px;
			width: 640px;
		}
	</style>
	<script type="text/javascript">
	    function createSilverlight()
        {
            var scene = new UntitledProject1.Page();
            Silverlight.createObjectEx({
	            source: "Page.xaml",
	            parentElement: document.getElementById("SilverlightControlHost"),
	            id: "SilverlightControl",
	            properties: {
		            width: "100%",
		            height: "100%",
		            version: "1.0"
	            },
	            events: {
		            onLoad: Silverlight.createDelegate(scene, scene.handleLoad)
	            }
            });
        }

        if (!window.Silverlight)
            window.Silverlight = {};

        Silverlight.createDelegate = function(instance, method) {
            return function() {
	            return method.apply(instance, arguments);
            }
        }
	</script>
</head>

<body>
	<div id="SilverlightControlHost" class="silverlightHost">
		<script type="text/javascript">
			createSilverlight();
		</script>
	</div>
</body>
</html>

Silverlight 2

 
Silverlight 2.0架構

2008年10月13日,微軟推出了Silverlight 2.0的RTW版,並提供了相應程式及檔案的下載安裝。

Silverlight 2.0支援下列新功能特色,彌補了Silverlight 1.0所欠缺的功能:

  1. 具備一個.NET Framework縮小版的基礎類別函式庫。
  2. 大量內建的Silverlight控制項:在Silverlight 1.0時,所有UI物件都必須透過XAML來自行描述繪製,並缺乏許多內建的Silverlight向量控制項,針對這點,Silverlight 2.0強化控制項方面的能力,內建許多向量控制項供開發人員直接使用。
  3. Skinning and Templating外觀模板的進階支援:透過Skinning and Templating的支援,可以自訂控制項之外觀與模板,可以迅速及動態地套用不同的外觀。
  4. Deep Zoom:一個高清晰度的影像縮放技術,能夠在Silverlight進行深度的圖片影像縮放功能。
  5. 廣泛的網絡Networking支援能力:舉例來說支援RESTSOAPPOXRSS及標準HTTP服務等網絡技術的呼叫,這部分對前端的Silverlight特別重要,透過網絡程式才能存取後端Server的資料,以回傳繫結顯示在UI之上。
  6. 擴展的.NET語言支援:Silverlight 2.0不僅僅支援主流的C#及VB程式開發,亦進一步支援動態語言,例如IronPythonIronRuby等等。
  7. Silverlight DRM的支援:Silverlight 2.0對於影音媒體內容的保護,是透過DRM技術來逹成,透過它就可以提供Content內容保護。
  8. 改善伺服端的延展性及擴展廣告客戶支援:Silverligt 2.0針對串流傳送資料方式、效率、下載播放方式再進一步強化改善其能力。
  9. 活躍的的合作夥伴生態系統:微軟全球知名的Visual Studio Industry Partners合作夥伴包括了ComponentOne LLC、Infragistics Inc及Telerik,提供了Silverlight 2.0的商業元件,可在Visual Studio 2008的環境中使用。
  10. 跨平台及跨瀏覽器支援:支援Mac、Windows及Linux等平台和FirefoxSafariWindows Internet Explorer等瀏覽器。

Silverlight 3

2009年7月10日,微軟正式放出Silverlight 3 RTW(3.0.40624.0)的下載,改進包括[8]

  1. 平滑影片流技術:
    微軟表示其新影片流功能提高了瀏覽器上的影片質素,已經可以和電視影片相比。Silverlight 3的平滑影片功能已經在流行音樂天王邁克。傑克遜的悼念晚會、溫布林登網球公開賽網絡直播上大顯身手。
  2. 數碼版權管理:
    Silverlight 3在數字內容保護上做了提高。內容生產商從發佈內容之始就可以跟蹤並保護其發佈的內容。
  3. 現場感:
    Silverlight 3支援更強大的3D顯示功能,新增加的一些功能可以用於圖片的深度縮放,現場感更強。
  4. 可在瀏覽器之外執行:
    在2007年剛推出Silverlight的時候,使用Silverlight必須基於瀏覽器。在Silverlight 3中已經沒有這種限制,用Silverlight 3開發的應用可以直接執行。
  5. 升級的Expression Studio 3:
    Expression Studio是微軟提供給開發者開發Silverlight應用的工具套件。新發佈的Silverlight 3升級了Expression Studio,提供了新工具Sketchflow。
  6. 增強對企業用戶的支援。

Silverlight 4

  1. 支援Google Chrome瀏覽器
  2. 支援網絡攝像頭麥克風
  3. 支援列印功能
  4. 強化滑鼠的右鍵與滾輪功能
  5. WCF RIA Services:WCF RIA Service Preview,內建於Visual Studio 2010的開發環境。
  6. 執行效能較Silverlight 3快200%
  7. 與HTML整合
  8. 支援脫離瀏覽器功能
  9. data binding再加強
  10. 動畫效果再加強
  11. 剪貼簿(Clipboard)與拖曳功能
  12. 視界放大(Deep Zoom)
  13. H.264的內容保護

Silverlight 5

2010年12月2日有Silverlight更新的傳聞,Silverlight 5 beta英文版於2011年4月13日釋出[9],而正式版本於2011年12月9日公佈[10]

Silverlight 5的新功能有[11]

  • 支援GPU加速影像壓縮
  • 內建3D graphics
  • 改善電源管理
  • 內建遠端控制
  • 更快的程式啟動(application startup)
  • 提供64位元的瀏覽器
  • 加強Visual Studio 2010的用戶介面自動化測試
  • 文字檢錯系統
  • 可以讓開發人員在data-binding時設置偵錯中斷點

開發工具

Silverlight的開發工具分為兩個部份:

  • 設計人員:使用Microsoft Expression Blend來進行設計。
    • Expression Blend 2.0支援Silverlight 1.0的設計。
    • Expression Blend 2.0 Service Pack 1支援Silverlight 2.0的設計。
  • 開發人員:使用Microsoft Visual Studio來開發。
    • Visual Studio 2008支援Silverlight 1.0的應用程式開發。
    • Silverlight Tools for Visual Studio 2008(外掛於Visual Studio 2008 SP1)[12]支援Silverlight 2.0的應用程式開發。

Eclipse也有支援Silverlight開發的計劃[13]

版本歷史

[14]

版本號碼 版本名稱 發佈日期
1.0 CTP 1.0.? 2006年12月
1.0 RTW 1.0.20816 2007年9月5日
2.0 Pre-Release 1.1.20926.0 2007年9月5日
1.0 service release 1.0.21115.0 2007年11月20日
1.0 service release 1.0.30109.0 2008年1月15日
2 Beta 1 2.0.30226.2 2008年3月5日
1.0 service release 1.0.30401.0 2008年4月8日
2 Beta 2 2.0.30523.6 2008年6月6日
2.0.30523.8 2008年7月16日
1.0 service release 1.0.30715.0 2008年7月27日
2.0 RC0 2.0.30523.9 2008年9月25日
2 RTW 2.0.31005.0 2008年10月14日
2 GDR 1 2.0.40115.0 2009年2月19日
3 Beta 3.0.40307.0 2009年3月18日
3.0 RTW 3.0.40624.0 2009年7月10日
3 GDR 1 3.0.40723.0 2009年7月28日
3 GDR 2 3.0.40818.0 2009年9月1日
4 Beta 1 4.0.41108.0 2009年11月18日
3 GDR 3 3.0.50106.0 2010年1月20日
4 RC 4.0.50303.0 2010年3月15日
4 RTW 4.0.50401.0 2010年4月15日[15]
4 GDR 0 4.0.50524.0 2010年6月3日
3 Security Update 3.0.50611.0 2010年8月10日
4 GDR 1 4.0.50826.0 2010年9月1日
4 GDR 2 4.0.50917.0 2010年9月28日
4 GDR 3 4.0.60129.0 2011年2月14日[16]
4 GDR 4 4.0.60310.0 2011年4月19日[17]
4 GDR 5 4.0.60531.0 2011年6月14日[18]
4 GDR 6 4.0.60831.0 2011年10月11日[19]
5 Beta 5.0.60401.0 2011年4月13日[20]
5 RC 5.0.60818.0 2011年9月1日[21]
5 5.0.61118.0 2011年12月9日[22]
4安全性更新 4.1.10111.0 2012年2月14日[23]
4安全性更新 4.1.10329.0 2012年5月8日[24]
5安全性更新 5.1.10411.0 2012年5月8日[25]
5安全性更新 5.1.20125.0 2013年3月12日[26]
5安全性更新 5.1.20513.0 2013年7月9日[27]
5安全性更新 5.1.20913.0 2013年10月8日[28]
5更新 5.1.30214.0 2014年5月11日[14][29][30]
5更新 5.1.30514.0 2014年7月23日[14][31]
5更新 5.1.31211.0 2014年12月13日[14][32]
5更新 5.1.40416.0 2015年5月12日[14][33]
5更新 5.1.40728.0 2015年8月11日[14][34]
5更新 5.1.41105.0 2015年12月8日[14][35]
5安全性更新 5.1.41212.0 2016年1月12日[14][36]
5更新 5.1.50428.0 2016年6月21日[14][37]
5更新 5.1.50709.0 2016年9月13日[14][38]
5更新 5.1.50901.0 2016年10月11日[14][39]
5更新 5.1.50905.0 2017年3月14日[14][40]
5更新 5.1.50906.0 2017年4月11日[14][41]
5更新 5.1.50907.0 2017年6月13日[14][42]

藍澤光

藍澤光是由臺灣微軟分公司推出的Microsoft Silverlight萌擬人化代言人,在臺灣及日本地區影響較大。隨着微軟對於Silverlight 5的產品支援已經逐步結束,官方活動小組已經於2014年9月宣佈,使藍澤光轉型成為Microsoft Azure的台灣區虛擬化代言人[43]

瀏覽器相容性

下表為各作業系統及各大網頁瀏覽器對於Silverlight各版本的支援性

系統/瀏覽器 IE 6 SP1 IE 6 SP2以上 IE 7 IE 8以上 Mozilla Firefox 3以上 SeaMonkey Safari Opera Google Chrome
Windows 7以上 N/A N/A N/A 1, 2, 3, 4, 5 1, 2, 3, 4, 5 1, 2 1, 2;透過NPAPI 非官方支援[44][45] 2, 3, 4, 5
Windows Server 2008 R2 N/A N/A N/A 1, 2, 3, 4, 5 5 1, 2 1, 2;透過NPAPI 非官方支援[44][45] 2, 3, 4, 5
Windows Vista N/A N/A 1, 2, 3, 4, 5 1, 2, 3, 4, 5 1, 2, 3, 4, 5 1, 2 1, 2;透過NPAPI 非官方支援[44][45] 2, 3, 4, 5
Windows Server 2008 N/A N/A 1, 2, 3, 4, 5 1, 2, 3, 4 1, 2, 3, 4, 5 1, 2 1, 2;透過NPAPI 非官方支援[44][45] 2, 3, 4, 5
Windows XP / 2003 / Home Server 1, 2, 3, 4 1, 2, 3, 4, 5 1, 2, 3, 4, 5 1, 2, 3, 4, 5 1, 2, 3, 4, 5 2非官方支援 1, 2;透過NPAPI 非官方支援[44][45] 2, 3, 4, 5
Windows 2000
(需安裝KB891861頁面存檔備份,存於互聯網檔案館) )
2, 3, 4 N/A N/A N/A 非官方支援[46] N/A 2;透過NPAPI 已計劃[44] N/A
Windows Phone 7 N/A N/A 已計劃[47] N/A N/A N/A N/A N/A N/A
S60 已計劃[來源請求] N/A N/A N/A N/A N/A N/A N/A N/A
FreeBSD N/A N/A N/A N/A 2 N/A N/A N/A N/A
Linux N/A N/A N/A N/A N/A N/A N/A N/A N/A
Mac OS 10.4/10.5 PowerPC N/A N/A N/A N/A 1 N/A 1 已計劃[44] N/A
Mac OS 10.4/10.5 Intel N/A N/A N/A N/A 1, 2, 3, 4, 5 N/A 1, 2, 3, 4, 5 已計劃[44] 2, 3, 4, 5

參考資料

  1. ^ Microsoft Silverlight Release History. [2023-01-25]. (原始內容存檔於2020-11-12). 
  2. ^ 使用Pipelight
  3. ^ http://on10.net/blogs/sarahintampa/Silverlight-for-Symbian-Plugin-Now-Available/http://on10.net/blogs/sarahintampa/Silverlight-for-Symbian-Plugin-Now-Available/ [永久失效連結]
  4. ^ 微軟呼籲Silverlight用戶改用其他技術. iThome. [2016-11-04]. (原始內容存檔於2021-01-06). 
  5. ^ Product lifecycle - Silverlight. [2016-11-04]. (原始內容存檔於2019-10-25). 
  6. ^ 故宮博物院Silverlight版本之清明上河圖. [2008-11-09]. (原始內容存檔於2008-09-13). 
  7. ^ Silverlight architecture. [2007-06-05]. (原始內容存檔於2008-04-29). 
  8. ^ Silverlight 3改善6大功能. [2009-07-11]. (原始內容存檔於2012-12-21). 
  9. ^ Silverlight 5 announcement. [2010-12-02]. (原始內容存檔於2012-02-22). 
  10. ^ Brown, Pete. Announcing the Release of Silverlight 5!. 2011-12-09 [2011-12-13]. (原始內容存檔於2012-01-07). 
  11. ^ Announcing Silverlight 5. [2010-12-03]. (原始內容存檔於2012-02-22). 
  12. ^ Silverlight Tools for Visual Studio 2008. [2008-11-09]. (原始內容存檔於2010-09-04). 
  13. ^ Silverlight Development Toolkit - SLDT. [2008-11-09]. (原始內容存檔於2020-09-13). 
  14. ^ 14.00 14.01 14.02 14.03 14.04 14.05 14.06 14.07 14.08 14.09 14.10 14.11 14.12 14.13 Microsoft Silverlight Release History. [2017-06-14]. (原始內容存檔於2020-11-12). 
  15. ^ Business-Ready Silverlight 4 Ships April 15. [2010-04-16]. (原始內容存檔於2012-02-22). 
  16. ^ Description of the update for Microsoft Silverlight: February 14, 2011. [2013-10-24]. (原始內容存檔於2015-02-23). 
  17. ^ Description of the update for Microsoft Silverlight: April 19, 2011. [2013-10-24]. (原始內容存檔於2015-02-23). 
  18. ^ Description of the update for Microsoft Silverlight: June 14, 2011. [2013-10-24]. (原始內容存檔於2015-03-02). 
  19. ^ MS11-078: Description of the security update for Microsoft Silverlight: October 11, 2011. [2013-10-24]. (原始內容存檔於2015-02-16). 
  20. ^ The Silverlight Blog: Silverlight 5 Beta – available now!. [2011-04-23]. (原始內容存檔於2011-04-26). 
  21. ^ Silverlight 5 RC now Available!. [2011-09-01]. (原始內容存檔於2011-09-25). 
  22. ^ Silverlight 5 now Available!. [2011-12-09]. (原始內容存檔於2011-12-23). 
  23. ^ MS12-016: Description of the security update for Microsoft Silverlight: February 14, 2012. [2013-10-24]. (原始內容存檔於2015-02-16). 
  24. ^ MS12-034: Description of the security update for Silverlight 4: May 8, 2012. [2013-10-24]. (原始內容存檔於2015-02-16). 
  25. ^ MS12-034: Description of the security update for Silverlight 5. [2012-05-09]. (原始內容存檔於2015-02-11). 
  26. ^ MS13-022: Vulnerability in Silverlight could allow remote code execution. [2013-03-14]. (原始內容存檔於2015-03-10). 
  27. ^ MS13-052: Description of the security update for Microsoft Silverlight: July 9, 2013. [2013-07-09]. (原始內容存檔於2015-02-23). 
  28. ^ MS13-087: Vulnerability in Silverlight could allow information disclosure: October 8, 2013. [2014-01-16]. (原始內容存檔於2015-03-10). 
  29. ^ Description of the update for Microsoft Silverlight 5: March 11, 2014. [2014-12-13]. (原始內容存檔於2015-02-15). 
  30. ^ MS14-014: Vulnerability in Silverlight could allow security feature bypass: March 11, 2014. [2014-12-13]. (原始內容存檔於2015-03-10). 
  31. ^ July 2014 update for Microsoft Silverlight 5. [2014-12-13]. (原始內容存檔於2015-03-07). 
  32. ^ December 2014 update for Microsoft Silverlight 5. [2014-12-13]. (原始內容存檔於2015-02-01). 
  33. ^ May 2015 update for Microsoft Silverlight 5. [2015-07-21]. 
  34. ^ MS15-080: Description of the security update for Silverlight 5: August 11, 2015. [2016-01-04]. 
  35. ^ MS15-129: Security update for Silverlight to address remote code execution: December 8, 2015. [2016-01-04]. 
  36. ^ MS16-006: Security update for Silverlight to address remote code execution: January 12, 2016. [2016-01-04]. (原始內容存檔於2019-10-18). 
  37. ^ Silverlight DateTime parsing for Norway and Serbia: June 21, 2016. [2016-07-17]. (原始內容存檔於2019-10-18). 
  38. ^ MS16-109: Security update for Silverlight: September 13, 2016. support.microsoft.com. [2017-01-13]. (原始內容存檔於2019-10-18). 
  39. ^ MS16-120: Description of the security update for Silverlight: October 11, 2016. support.microsoft.com. [2017-01-13]. (原始內容存檔於2016-10-11). 
  40. ^ MS17-013: Description of the security update for Microsoft Graphics Component on Microsoft Silverlight 5: March 14, 2017. support.microsoft.com. [2017-05-10]. (原始內容存檔於2019-10-18). 
  41. ^ Security update for the libjpeg information disclosure vulnerability for Microsoft Silverlight 5: April 11, 2017. support.microsoft.com. [2017-05-10]. (原始內容存檔於2019-10-18). 
  42. ^ Windows Uniscribe remote code execution vulnerability: June 13, 2017. support.microsoft.com. [2017-06-14]. (原始內容存檔於2019-10-18). 
  43. ^ Silverlight - 動態時報相片. 台灣微軟Silverlight官方粉絲團. [2014-09-06]. (原始內容存檔於2019-02-17) (中文(臺灣)). 
  44. ^ 44.0 44.1 44.2 44.3 44.4 44.5 44.6 44.7 Opera Watch: More details on Silverlight support in Opera. [2007-05-02]. (原始內容存檔於2011-07-21). 
  45. ^ 45.0 45.1 45.2 45.3 45.4 Silverlight in Opera. [2008-03-10]. (原始內容存檔於2013-10-29). 
  46. ^ Install Silverlight : Unsupported platform, system requirements. [2009-07-08]. (原始內容存檔於2009-01-12). 
  47. ^ Chapman, Stephen. Windows Mobile 7: Silverlight Applications, IE Mobile 7, and More!. 2009-12-01 [2011-07-25]. (原始內容存檔於2010-02-10). 

外部連結