書名: Silverlight 2完美征程作者名: 李會(huì)軍著本章字?jǐn)?shù): 1392字更新時(shí)間: 2019-01-10 14:27:03
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
- 基于C語(yǔ)言的程序設(shè)計(jì)
- Practical Data Analysis
- 工業(yè)機(jī)器人技術(shù)及應(yīng)用
- 大數(shù)據(jù)專業(yè)英語(yǔ)
- Linux Mint System Administrator’s Beginner's Guide
- 手把手教你玩轉(zhuǎn)RPA:基于UiPath和Blue Prism
- 21天學(xué)通Java Web開發(fā)
- 21天學(xué)通C語(yǔ)言
- Excel 2007常見技法與行業(yè)應(yīng)用實(shí)例精講
- 單片機(jī)技能與實(shí)訓(xùn)
- 奇點(diǎn)將至
- Hands-On SAS for Data Analysis
- AVR單片機(jī)工程師是怎樣煉成的
- Creating ELearning Games with Unity
- 網(wǎng)絡(luò)信息安全項(xiàng)目教程