Microsoft Silverlight

维基百科,自由的百科全书
跳转至: 导航搜索
Microsoft Silverlight
Silverlight Logo
開發者 微軟
初始版本 2007年4月
穩定版本 5.1.20125.0  (2013年3月12日;2個月前 (2013-03-12)) [+/−]
預覽版本 [+/−]
程式語言 Combination of C++ and C#
作業系統 跨平台
(Microsoft Windows, Linux[1], Mac OS X, Symbian OS[2])
類型 Web應用程式開發框架
許可協議 微軟終端使用者授權合約
網站 www.microsoft.com/silverlight/
www.silverlight.net

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

目前Silverlight已經受到各主流瀏覽器的支援,包含Internet ExplorerFirefoxOperaSafari等,同時也支援Mac OS X作業系統,在Windows Mobile 6.0和Symbian (Series 60)手機等行動裝置上也受到支援。與Silverlight相同的開放原始碼解決方案「Moonlight」則提供在Linux上的支援。

Silverlight常被視為與Adobe Flash競爭的web技術。

目录

特色 [编辑]

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

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

版本 [编辑]

Silverlight 1.0 [编辑]

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

一個銀光程式(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 Language支援:Silverlight 2.0不僅僅支援主流的C#及VB程式開發,亦進一步支援動態語言,例如IronPython IronRuby等等。
  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等平台和Firefox、Safari與Windows Internet Explorer等瀏覽器。

Silverlight 3 [编辑]

2009年7月10日,微软正式放出Silverlight 3 RTW(3.0.40624.0)的下载,改进包括[5]

  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. 支援Web cam 和 microphone
  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日釋出,[6]而正式版本于2011年12月9日公布。[7]

Silverlight 5 的新功能有[8]:

  • 支援 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)[9]支援Silverlight 2.0的應用程式開發。

Eclipse也有支援Silverlight開發的計畫。[10]

版本歷史 [编辑]

版本號碼 版本名稱 發佈日期
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年01月20日
4 RC 4.0.50303.0 2010年03月15日
4 RTW 4.0.50401.0 2010年04月15日[11]
4 GDR 0 4.0.50524.0 2010年06月03日
3 Security Update 3.0.50611.0 2010年08月10日
4 GDR 1 4.0.50826.0 2010年09月01日
4 GDR 2 4.0.50917.0 2010年09月28日

瀏覽器相容性 [编辑]

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

系統/瀏覽器 IE 6 SP1 IE 6 SV1 (SP2) IE 7/IE 8 Mozilla Firefox SeaMonkey Safari Opera Google Chrome
Windows Vista / Windows 7 N/A N/A 1.0, 2.0, 3.0, 4.0 1.0, 2.0, 3.0, 4.0 1.0, 2.0 1.0, 2.0;透過NPAPI 非官方支援[12][13] 2.0, 3.0, 4.0
Windows Server 2008 R2 N/A N/A 1.0, 2.0, 3.0, 4.0
(IE8 Only)
N/A 1.0, 2.0 1.0, 2.0; 透過 NPAPI 非官方支援[12][13] 2.0, 3.0, 4.0
Windows Server 2008 N/A N/A 1.0, 2.0, 3.0, 4.0 1.0, 2.0, 3.0, 4.0 1.0, 2.0 1.0, 2.0; 透過 NPAPI 非官方支援[12][13] 2.0, 3.0, 4.0
Windows XP / 2003 / Home Server 1.0, 2.0, 3.0, 4.0 1.0, 2.0, 3.0, 4.0 1.0, 2.0, 3.0, 4.0 1.0, 2.0, 3.0, 4.0 2.0 非官方支援 1.0, 2.0; 透過 NPAPI 非官方支援[12][13] 2.0, 3.0, 4.0
Windows 2000 2.0, 3.0, 4.0 N/A N/A 2.0非官方支援[14] N/A 2.0;透過NPAPI 已計劃[12] N/A
Windows Phone 7 N/A N/A 已計劃[15] 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
FreeBSD N/A N/A N/A 2.0 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
Mac OS 10.4/10.5 PowerPC N/A N/A N/A 1.0 N/A 1.0 已計劃[12] N/A
Mac OS 10.4/10.5 Intel N/A N/A N/A 1.0, 2.0, 3.0, 4.0 N/A 1.0, 2.0, 3.0, 4.0 已計劃[12] 3.0, 4.0 非官方支援

參考資料 [编辑]

外部連結 [编辑]