官术网_书友最值得收藏!

1.1 Silverlight概述

1.1.1 什么是Silverlight

Silverlight的前身是WPF/E,它是微軟推出的一種跨瀏覽器、跨平臺(tái)的富互聯(lián)網(wǎng)應(yīng)用程序開發(fā)技術(shù),具有極其優(yōu)越的矢量圖形、動(dòng)畫和多媒體支持的能力,內(nèi)置支持豐富的網(wǎng)絡(luò)通信功能,迄今為止發(fā)布了1.0和2.0兩個(gè)版本,本書將以Silverlight 2為主要版本進(jìn)行講解。Silverlight 2具有如下功能。

WPF和XAML:Silverlight包含WPF技術(shù)的一個(gè)子集,大大擴(kuò)展了瀏覽器中用于創(chuàng)建UI的元素。

對(duì)JavaScript的擴(kuò)展:Silverlight提供對(duì)通用瀏覽器腳本語(yǔ)言的擴(kuò)展,可以控制瀏覽器UI,包括使用WPF元素。

跨瀏覽器、跨平臺(tái)支持:Silverlight應(yīng)用程序可以在任意平臺(tái)上的所有通用瀏覽器上自如運(yùn)行,作為開發(fā)人員完全不必?fù)?dān)心用戶具有何種瀏覽器或平臺(tái)。

與現(xiàn)有應(yīng)用程序集成:Silverlight應(yīng)用程序可以與現(xiàn)有JavaScript和ASP.NET AJAX代碼無(wú)縫集成,以增強(qiáng)已有的功能。

可以訪問(wèn).NET Framework編程模型和相關(guān)工具:可以使用諸如IronPython等動(dòng)態(tài)語(yǔ)言及C#和Visual Basic等語(yǔ)言創(chuàng)建基于Silverlight的應(yīng)用程序,可以使用Visual Studio的開發(fā)工具開發(fā)基于Silverlight的應(yīng)用。

豐富的網(wǎng)絡(luò)支持:Silverlight包括對(duì)TCP上的HTTP的支持,可以調(diào)用WCF或任何基于SOAP的服務(wù)并接收XML、JSON或RSS等數(shù)據(jù),并且支持Socket通信。

LINQ支持:Silverlight包括語(yǔ)言集成查詢(LINQ)。

1.1.2 Silverlight架構(gòu)

Silverlight平臺(tái)作為一個(gè)整體,由兩個(gè)主要部分構(gòu)成:核心表示層框架和Silverlight中的.NET Framework,前者提供面向UI和用戶交互的組件和服務(wù)(包括用戶輸入、用于Web應(yīng)用程序的輕量型UI控件、媒體播放、數(shù)字版權(quán)管理和數(shù)據(jù)綁定),表示層功能(包括矢量圖形、文本、動(dòng)畫和圖像),此外還包括用于指定布局的可擴(kuò)展應(yīng)用程序標(biāo)記語(yǔ)言(XAML);Silverlight中包含一個(gè).NET Framework的子集,其中包括數(shù)據(jù)集成、可擴(kuò)展Windows控件、網(wǎng)絡(luò)、基類庫(kù)、垃圾回收和公共語(yǔ)言運(yùn)行時(shí)。這兩部分之間的關(guān)系可以用圖1-1來(lái)表示。

圖1-1

其中核心表示層組件包括如下幾個(gè)部分。

輸入:處理來(lái)自硬件設(shè)備(例如鍵盤和鼠標(biāo)、繪圖設(shè)備和其他輸入設(shè)備)的輸入。

UI呈現(xiàn):呈現(xiàn)矢量和位圖圖形、動(dòng)畫及文本。

媒體:具有播放和管理各種類型音頻和視頻文件(例如,.WMP和 .MP3文件)的功能。

控件:支持可通過(guò)應(yīng)用樣式和模板來(lái)自定義的可擴(kuò)展控件。

布局:可以動(dòng)態(tài)定位UI元素。

數(shù)據(jù)綁定:可以鏈接數(shù)據(jù)對(duì)象和UI元素。

DRM:可以對(duì)媒體資產(chǎn)啟用數(shù)字版權(quán)管理。

XAML:為XAML標(biāo)記提供分析器。

Silverlight中的.NET Framework包括如下幾個(gè)部分。

數(shù)據(jù):支持語(yǔ)言集成查詢(LINQ)和LINQ to XML功能,這些功能簡(jiǎn)化了集成和使用不同源數(shù)據(jù)的過(guò)程,還支持使用XML和序列化類來(lái)處理數(shù)據(jù)。

基類庫(kù):一組.NET Framework庫(kù),這些庫(kù)提供了基本編程功能,例如字符串處理、正則表達(dá)式、輸入和輸出、反射、集合和全球化。

WCF支持:提供的功能可簡(jiǎn)化對(duì)遠(yuǎn)程服務(wù)和數(shù)據(jù)的訪問(wèn)。其中包含瀏覽器對(duì)象、HTTP請(qǐng)求和響應(yīng)對(duì)象、對(duì)跨域HTTP請(qǐng)求的支持、對(duì)RSS/Atom聯(lián)合源的支持及對(duì)JSON和SOAP服務(wù)的支持。

CLR:Silverlight中的公共語(yǔ)言運(yùn)行時(shí)稱之為CoreCLR,提供了內(nèi)存管理、垃圾回收、類型安全檢查和異常處理。

WPF控件:Silverlightk中提供了一組豐富的控件,其中包含Button、Calendar、CheckBox、DataGrid、DatePicker、HyperlinkButton、ListBox、RadioButton和ScrollViewer等。

動(dòng)態(tài)語(yǔ)言運(yùn)行時(shí)(DLR):支持動(dòng)態(tài)編譯和執(zhí)行腳本語(yǔ)言,以編寫基于Silverlight的應(yīng)用程序。包括一個(gè)可插接式模型,用來(lái)添加Silverlight所使用的其他語(yǔ)言的支持。

1.1.3 Silverlight的跨平臺(tái)能力

由于Silverlight的應(yīng)用程序是跨平臺(tái)的,因此它們可以在當(dāng)今大多數(shù)Web瀏覽器中運(yùn)行,下表為微軟官方公布的Silverlight所支持的操作系統(tǒng)與瀏覽器對(duì)照表。

雖然目前微軟官方并沒有提供針對(duì)Linux的開發(fā)程序和安裝包,但是在社區(qū)中有一個(gè)開源項(xiàng)目“Moonlight”,將Silverlight從Windows平臺(tái)移植到了Linux平臺(tái),該項(xiàng)目的目標(biāo)是讓Silverlight運(yùn)行在Linux平臺(tái)下,并且提供在Linux平臺(tái)下的Silverlight開發(fā)包。Moonlight的官方站點(diǎn)是http://www.mono-project.com/Moonlight,如圖1-2所示。

圖1-2

主站蜘蛛池模板: 化德县| 奈曼旗| 扬中市| 汽车| 交口县| 穆棱市| 乌拉特前旗| 玉田县| 桓仁| 德钦县| 垫江县| 崇阳县| 彭山县| 新邵县| 海盐县| 延吉市| 湾仔区| 罗田县| 三明市| 阿荣旗| 六枝特区| 湛江市| 崇阳县| 昭苏县| 百色市| 垣曲县| 鹤山市| 庄浪县| 洪洞县| 鱼台县| 芷江| 栾川县| 八宿县| 曲周县| 灵璧县| 孝感市| 吉隆县| 松阳县| 神农架林区| 大荔县| 玉龙|