Microsoft Silverlight

维基百科,自由的百科全书
跳转到导航 跳转到搜索
Microsoft Silverlight
Silverlight Logo
开发者微软
首次发布2007年9月5日,​18年前​(2007-09-05
当前版本5.1.50918.0 (2019年1月15日 (2019-01-15))[1]
源代码库
  • {{URL|example.com|可选的显示文本}}
Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
编程语言C++C#
引擎
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    操作系统跨平台
    Microsoft WindowsLinux[2]macOSSymbian OS[3]
    类型Web应用程序开发框架
    许可协议Silverlight许可协议
    网站www.microsoft.com/silverlight/
    www.silverlight.net

    Microsoft Silverlight微软已停止支持的Web前端应用程序开发解决方案,曾是微软丰富型互联网应用程序(Rich Internet Application)策略的主要应用程序开发平台之一,以浏览器外挂组件方式提供Web应用程序中多媒体(含影音流与音效流)与高度交互性前端应用程序的解决方案。它曾是微软UX(用户体验)策略中的一环,也是微软试图将美术设计和程序开发人员的工作明确切分与协同合作发展应用程序的尝试之一(另一个为WPF)。

    目前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[编辑]

    File:Microsoft Silverlight stack.svg
    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 Edge
    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). 

    外部链接[编辑]