這篇文章將為大家詳細講解有關(guān)Silverlight 4架構(gòu)原理的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
十余年的農(nóng)安網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整農(nóng)安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“農(nóng)安網(wǎng)站設(shè)計”,“農(nóng)安網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
微軟發(fā)布了Silverlight 4,這項技術(shù)為我們帶來了許多革新。它不僅是為用戶帶來了豐富的交互式的互聯(lián)網(wǎng)和多媒體內(nèi)容,還為我們提供了強大的輕量級的平臺。
我們可以在此平臺上開發(fā)可移植的,跨平臺的,基于網(wǎng)絡(luò)的應(yīng)用程序,并且可以從不同的源頭集成服務(wù)和數(shù)據(jù)。相比傳統(tǒng)Web應(yīng)用的界面,Silverlight應(yīng)用的界面讓人耳目一新。讓人感覺像是Windows Form應(yīng)用程序搬到了Web上。
為什么需要Silverlight 4
前面我們在開發(fā)Web應(yīng)用的時候,碰到了許多技術(shù)上的難題,如平臺兼容,不同的文件格式和通訊協(xié)議,同樣的頁面在不同瀏覽器上的表現(xiàn),還有不同瀏覽器對Javascript的解釋,經(jīng)常為這些問題加班熬夜,我們沒有少費腦筋來試圖解決這些令人頭痛的問題。有了Silverlight技術(shù):
◆我們就能克服現(xiàn)有技術(shù)平臺的的不兼容性,不一致性。
◆我們就有了能力在多平臺多種瀏覽器上創(chuàng)建一致的用戶體驗,不管在哪里,應(yīng)用程序在外觀上和行為上都是統(tǒng)一的。
◆我們就能利用熟悉的.NET框架的類和功能將不同網(wǎng)絡(luò)位置的數(shù)據(jù)和服務(wù)集成到一個應(yīng)用程序中。
◆我們就能為用戶提供一個多媒體的,表現(xiàn)豐富的,操作性強的用戶界面。
◆Silverlight 4為我們提供了更多的控件,更強大的功能,讓我們可以開發(fā)出更強大的應(yīng)用,更好地應(yīng)對商務(wù)上的挑戰(zhàn)。
Silverlight 4有哪些新東西?
◆幾個實用的控件,如RichTextBox, ViewBox, WebBrowser, WebBrowserBrush等。
◆瀏覽器外運行支持,瀏覽器外運行能象普通窗口的特性,如改變大小,置頂?shù)取?/p>
◆提升了信任的應(yīng)用程序,允許信任的Silverlight程序可以自由讀寫用戶文件和目錄,全屏幕,調(diào)用Windows API等。
◆更豐富的媒體,可以捕捉視屏信號和話筒語音。
◆更強的打印功能。
◆更強更方便的UI界面,支持拖拽,支持剪貼板等等。
◆更好的數(shù)據(jù)綁定和WCF數(shù)據(jù)服務(wù)。
◆WCF RIA 服務(wù)對多層應(yīng)用支持更強。
◆DLR的支持。
Silverlight 4有哪些系統(tǒng)和瀏覽器支持?
要構(gòu)建有效的Silverlight 4應(yīng)用,開發(fā)者有必要了解Silverlight 4的架構(gòu)。
Silverlight平臺的部件
Silverlight作為一個整體主要包括三個部分,如下表:
下圖是MSDN官方的圖,展示了Silverlight平臺的部件,及一些相關(guān)部件和服務(wù)。
核心展現(xiàn)部件Core presentation framework包括了XAML parser, UI Core, Inputs, DRM(digital rights management), Media, Deep Zoom等,多數(shù)是需直接與具體的操作系統(tǒng)API打交道的功能,所以這里沒有CLR Execution Engine。
◆XAML parser負責(zé)解析XAML,能兼容不同規(guī)格的XAML。
◆UI Core負責(zé)向量,bitmap,動畫,文字的渲染。
◆Inputs負責(zé)處理鍵盤,鼠標(biāo)等設(shè)備的輸入。
◆DRM負責(zé)處理數(shù)字媒體的數(shù)字版權(quán)管理。
◆Media負責(zé)處理多媒體的處理,支持不同的媒體格式和編碼器。
◆Deep zoom是用于高分辨率圖片的放大和縮小。
◆Layout負責(zé)UI元素的定位。
.NET framework for Silverlight 是供應(yīng)用程序使用的商業(yè)"庫"。包括Data, WCF, WPF, BCL等。
◆BCL提供了.NET平臺上的基本類型, 集合collections,泛型Generics,加密等。
◆WCF提供了應(yīng)用程序處理WCF相關(guān)功能的一些類型, 用于處理SOAP, REST, RSS/ATOM等。
◆Data提供了LINQ, LINQ to xml等。
◆WPF提供了一些UI控件,將數(shù)據(jù)綁定到這些控件,布局,處理用戶輸入的一些功能。
.NET framework for Silverlight分布在若干個.NET程序集中。有一部分的程序集(比如BCL)是隨Silverlight 安裝器在用戶瀏覽器中安裝,有一部分是在Silverlight SDK中,應(yīng)用程序引用到了相關(guān)的程序集,才會隨應(yīng)用程序一起發(fā)布到服務(wù)器上,當(dāng)有用戶訪問應(yīng)用程序時,這些.NET framework程序集才隨應(yīng)用程序的程序集一起下載到用戶的瀏覽器中被CLR執(zhí)行引擎(CLR Execution Engine)執(zhí)行。
CLR執(zhí)行引擎(CLR Execution Engine)是這里面的核心,負責(zé)執(zhí)行應(yīng)用程序的.NET 代碼和.NET framework的.NET代碼。CLR總是基于一個宿主。通常的宿主是一個瀏覽器,在瀏覽器外的場景時的宿主是一個操作系統(tǒng)進程。Silverlight 4對其CLR做了改進,Silverlight 4的CLR與桌面應(yīng)用程序的CLR的差別進一步縮小。
DLR提供了對動態(tài)語言的支持。目前支持JScript, Iron Python, Iron Ruby。這是Silverlight 4新提供的特性。
Silverlight 4還有一些編程相關(guān)的特性:如獨立存儲(Isolated storage),后臺線程,安全的文件管理,序列化,XAP打包,XML處理,HTML與托管代碼的交互。
◆獨立存儲提供一種安全的方式讓Silverlight程序去訪問瀏覽器本地的文件系統(tǒng)。
◆后臺線程使異步,多線程在Silverlight上成為了可能。
◆安全的文件管理提供一個安全的文件打開對話框,允許文件上傳等。
◆序列化使對象的序列化存儲和恢復(fù)成為了可能。
◆XAP打包提供了Application類和工具來打XAP的包。.xap的包有應(yīng)用程序和入口點,以便讓用戶瀏覽器插件來運行這個.xap包。應(yīng)用程序的發(fā)布都是需要一個.xap包。
◆XML處理包含了處理Xml的功能。XmlReader類和XmlWriter類提供了最基本的XML處理功能,同時XLinq讓開發(fā)者可以用c#或者VB.NET就可以查詢Xml中的數(shù)據(jù)。
◆HTML與托管代碼的交互讓開發(fā)者可以在托管代碼中直接用HTML DOM就可以管理HTML頁面里的UI元素,同時也可以寫Javascript代碼調(diào)用托管代碼的功能,訪問其中的方法,屬性,激發(fā)其事件等。這個功能就為上圖中的Javascript Engine和MS AJAX Library提供了可能。
上圖中的瀏覽器宿主(Browser Host)是用戶瀏覽器插件提供的一個環(huán)境。它提供了運行一個Silverlight應(yīng)用程序的基礎(chǔ)環(huán)境,如Application服務(wù),HTML DOM的集成,網(wǎng)絡(luò)通信的基礎(chǔ),還有安裝器。使用托管API的Silverlight應(yīng)用程序都有一個繼承Application類的類,有一個程序入口點,瀏覽器宿主(Browser Host)為應(yīng)用程序建好了運行環(huán)境,然后才調(diào)用應(yīng)用程序的入口。
關(guān)于“Silverlight 4架構(gòu)原理的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。