北京北大青鳥學(xué)校學(xué)術(shù)部丁老師介紹Digg應(yīng)用的開發(fā),先選擇Visual Studio 2008 中的文件->新項目菜單項,使用新項目對話框創(chuàng)建一個“Silverlight Application” (北京北大青鳥學(xué)校專家提醒:你需要在Beta1發(fā)布后,下載和安裝 VS 2008的Silverlight工具才能得到這個支持):
我們將該項目命名為“DiggSample”。在點(diǎn)擊OK按鈕后, Visual Studio 會顯示另外一個對話框,允許我們選擇我們是否只要創(chuàng)建一個Silverlight應(yīng)用項目,或者還要加一個服務(wù)器端的ASP.NET Web項目到包含Silverlight應(yīng)用的解決方案里去:
北京北大青鳥學(xué)校專家介紹:在這個例程里,我們將選擇還要添加一個ASP.NET Web Application 項目到解決方案里去,并將它命名為“DiggSample_WebServer”。在點(diǎn)擊OK之后,Visual Studio 會為我們創(chuàng)建一個解決方案,里面包含一個Silverlight 客戶端應(yīng)用和一個ASP.NET web 服務(wù)器端應(yīng)用:
如果我們做一次編譯的話, Visual Studio 會自動把編譯好的 Silverlight 應(yīng)用拷貝到我們的web服務(wù)器項目中去,不需要手工的步驟或配置。VS為我們創(chuàng)建的默認(rèn)的web服務(wù)器項目包含一個ASP.NET網(wǎng)頁和一個靜態(tài)的 HTML網(wǎng)頁,我們可以用來運(yùn)行和測試其中的Silverlight應(yīng)用。
注: Silverlight應(yīng)用可用于任何web服務(wù)器(包括Linux上的Apache),宿主于靜態(tài)HTML文件或者任何服務(wù)器端生成的網(wǎng)頁(包括PHP, Java, Python, Ruby等等)中。在這個Digg樣例中,我們不會寫任何服務(wù)器端的代碼,而是將使用Silverlight的跨域networking功能,來直接訪問Digg服務(wù)的API。我選擇創(chuàng)建一個ASP.NET web服務(wù)器項目,主要是想獲得自動的部署,并且使用它內(nèi)置的web服務(wù)器來做測試。
理解Silverlight應(yīng)用里都有些什么
在默認(rèn)情形下,一個新建的Silverlight應(yīng)用項目包含一個Page.xaml和一個 App.xaml文件,以及與它們相關(guān)的后臺(code behind )類文件(可以用VB, C#, Ruby 或Python來編寫):
XAML文件是XML文本文件,可以用來用聲明的方式指定 Silverlight 或 WPF應(yīng)用的用戶界面。XAML還可更廣泛地用來用聲明的方式代表.NET對象。
App.xaml 文件一般用來聲明譬如象畫刷和樣式對象這樣可在整個應(yīng)用中共享的資源。App.xaml的后臺Application類可用來處理應(yīng)用級的事件,象Application_Startup, Application_Exit 和Application_UnhandledException。
Page.xaml 文件,在默認(rèn)情形下,是在應(yīng)用激活時裝載的起始的UI控件。在其中,我們可以使用UI控件來定義我們的用戶界面,然后在Page的后臺代碼類里處理它們的事件(詳見后文)。
在我們編譯DiggSample項目時,在默認(rèn)情形下,Visual Studio 會把代碼和XAML標(biāo)識編譯進(jìn)一個標(biāo)準(zhǔn)的 .NET 程序集文件中,然后把它和任何靜態(tài)的資源(象圖片或我們想要包含的靜態(tài)文件)包裝進(jìn)硬盤上一個叫做“DiggSample.xap”的文件中去:
“.xap”文件(其音發(fā)作“zap”)使用標(biāo)準(zhǔn)的 .zip壓縮算法來減小客戶端下載的大小。一個“hello world”.NET Silverlight 應(yīng)用(用VB或C#編寫的)其大小大概為4KB。
注: Beta1版本中的一些控件是在程序集中實現(xiàn)的,如果使用這些控件的話,這些程序集會重新發(fā)布于應(yīng)用的 .xap 文件中(會增加應(yīng)用的大小,超出4KB的基底大。。在Digg應(yīng)用中使用的所有控件將會在Beta2版和最終版的核心Silverlight下載包中,這意味著完成的應(yīng)用的總下載大小大概只在6-8KB范圍內(nèi)(所以是非常小,下載起來非常快)。
要宿主和運(yùn)行一個Silverlight 2 應(yīng)用,你可以把
HTML和ASP.NET測試網(wǎng)頁(內(nèi)含