Silverlight 2 Beta2新功能體驗

來源:互聯網
上載者:User
文章目錄
  • Networking方面的改進
  • 資料方面的改進
  • 理解與Silverlight 1.0和Silverlight 2 Beta 1間的相容性

Beta2加了許許多多的新功能(下面有更多細節),但下載大小仍只有4.6MB大,在機器上安裝所花時間少於10秒,不用安裝.NET架構或其他任何軟體就可以工作,所有的功能在Mac和Windows機器上都能跨瀏覽器工作,這些功能在Linux上將由Moonlight 2提供。

Silverlight 2 Beta2支援一個go-live許可,它允許你開始使用和部署Silverlight 2於商業應用中。在Beta2與最終版間,會有一些API變動,所以你應該預期你用Beta2編寫的應用在最終版出來時需要做些更新。但我們認為這些變動將是直截了當和比較容易的,你現在可以開始計劃和著手開發商業項目了。

你可以使用Silverlight之VS 2008工具和Expression Blend 2.5六月份預覽版來開發Silverlight Beta2應用,Silverlight之VS 2008工具在VS 2008和最近發布的VS 2008 SP1 beta下都工作。

UI及控制項方面的改進

更多內建控制項

Beta 1的核心Silverlight安裝只包含了幾個控制項,最常用的控制項(包括Button, ListBox, Slider等)都是在另外的程式集中發布的,你需要在應用中將這些程式集捆綁發布(其結果是增加了應用的下載大小)。 作為核心Silverlight 2下載的一部分,Beta 2 現在將安裝30多個最常用的控制項,這意味著你現在可以開發使用這些核心控制項的Silverlight 2應用,其下載大小可以只有3kb那麼大,- 使得Silverlight應用的下載大小很小,並使得應用啟動極快。

除了包含在基本Silverlight 2安裝中的核心控制項外,這個星期我們還將發布在另外的程式集中實現的其他高層次的控制項,你可以在應用中引用和包含它們。這包括象DataGrid(其Beta2的新特性見下面),日曆(Beta2中有多日選擇和不可選日期的支援),以及TabPanel(Beta2中才出現的新控制項)這樣的控制項。

控制項範本編輯支援

WPF和Silverlight編程模型最強大的一個功能是其完全定製控制項的觀感的能力,這允許開發人員和設計師以微妙和戲劇性的方式對控制項的UI進行精雕細琢,促成巨大的靈活性。這個星期的Expression Blend 2.5六月份預覽版現在對控制項範本編輯加了設計器支援,將方便你快速地改變任何控制項的外觀,而不必再屈尊去修改XAML源碼。

Visual State Manager (VSM-視覺狀態管理器) 之支援

Silverlight 和 WPF中的控制項範本支援對控制項的“look(外觀)”,以及控制項的“feel(感覺)”的定製。“feel”之謂,我指的是改變它互動的響應性。例如,在按下時,得到焦點時,失去焦點時,處於按下的狀態時,處於不可用(disabled)狀態時,內中有東西被選中時。。。,它是如何反應的。經常地,在使用者象這樣與控制項做互動時,你要執行動畫效果。

我們在Silverlight 2 Beta2中引進的一個新東西是"Visual State Manager(視覺狀態管理器)" (VSM),該功能將極大地方便你建造互動性的控制項範本。VSM引入了你可在控制項範本中利用的2個基本概念:"視覺狀態(Visual States)" 和 "狀態遷移(State Transitions)"。例如,象按鈕這樣的控制項為自己定義了多個視覺狀態: "Normal(正常)", "MouseOver(滑鼠之下)", "Pressed(按下)", "Disabled(不可用)", "Focused(擷取焦點)", "Unfocused(不具焦點)"。在Blend中的模板編輯模式下,設計師現在可以輕鬆地編輯按鈕在每個特定狀態下的外觀,以及設定遷移規則來控制從一個狀態遷移到另一個狀態時動畫效果應該啟動並執行時間。然後在運行時,Silverlight會動態地運行合適的動畫故事板來把控制項從一個狀態平滑地過渡到另一個狀態。

這個模型很棒的地方是,設計師用編寫代碼,用手工建立動畫故事板,也用理解控制項的物件模型就可以非常有效率。這使得學習建立互動性控制項範本的曲線非常容易,意味著現有的美工可以輕鬆地參與Silverlight項目。今年稍後,我們還將往WPF中添加"Visual State Manager(視覺狀態管理器)" (VSM)的支援,讓你在Windows應用中使用同樣的方法,以及在 WPF 和 Silverlight 項目間共用控制項模板。

TextBox

Beta2包括了對內建的TextBox編輯控制項的一些非常重大的改進,現在支援帶換行的文本捲動,多行文字選擇,文檔導航鍵,以及從剪貼簿的拷貝/粘貼等。Beta2現在還包含了對非西方字元集的IME Level 3輸入支援(包括候選視窗選擇):

輸入支援

Beta2添加了全螢幕模式下額外的鍵盤支援(方向鍵,tab,斷行符號,home,end,上一頁/下一頁,空格鍵)。註:為避免密碼欺騙情境,目前尚不允許完整的鍵盤輸入支援。Beta2還加了新的APIs支援墨印和筆觸輸入。

UI自動化和可訪問性(Accessibility)

Beta2在Silverlight中添加了UI自動化架構支援,UI自動化(簡稱為UIA)允許螢幕助讀程式和其他輔助性工具識別組成你的Silverlight 2應用的組件並與之進行互動。Beta2使用了UIA架構,對一套Silverlight控制項加了基於UIA的行為。在Silverlight 2的最終版本中,所有的控制項都將內建擁有基於UIA的行為。我們還將支援高對比的情境。這些功能將允許你建造可訪問的,相容section 508的應用。這個UIA支援還將促成對應用的自動化UI測試。

動畫和圖形系統動畫和圖形系統

Beta2加了對自訂相依性屬性的動畫支援,現在也支援對象動畫支援(對結構體的動畫效果)。Beta2還支援在代碼中建立Storyboard來對部分顯示樹執行動畫效果,而不用將Storyboard加到顯示樹中(允許你將動畫效果完全嵌在代碼中),每幀動畫的回調支援將加在最終版中。

Beta2包含了一個新的視覺樹靜態輔助類,提供了進階的視覺樹檢視APIs。它提供了象這樣的功能: 枚舉某個元素的子項目,擷取某個給定參考元素的祖先/父元素。這些APIs可以操作你傳人的任何UIElement對象。

DeepZoom

Beta2現在支援基於XML的DeepZoom集合的Manifest檔案,Beta2還對DeepZoom加了可擴充的MultiScaleTileSource支援(允許開發人員串連到與Deep Zoom高效能顯示所用格式不相符的的現有的金字塔結構的圖片集合上)。

WPF相容性

Silverlight Beta2包含了許多許多的缺陷修補/改動,以改進Silverlight和WPF間的API相容性(註:Silverlight的最終版還將包含一些額外的相容性工作)。我們還將在今夏把在 Silverlight 2中引進的一些新APIs加到.NET 3.5 SP1中的WPF中。

多媒體方面的改進

自適應流媒體傳輸(Adaptive Streaming)

Beta2加了對“自適應流媒體傳輸(adaptive streaming)”的支援,它允許你以多種位元速率編碼媒體,然後由Silverlight應用根據網路和CPU條件動態地在它們中間切換。

這將促成極其豐富的終端使用者媒體體驗,因為它造成了這樣的可能性,由內容供應商同時提供低端和高端位元速率版本的錄影,而由Silverlight根據終端使用者的機器硬體和網路容量選擇使用最佳的版本。假如在觀看錄影期間,機器或網路條件改變的話, Silverlight 可以自動地切換到更合適的位元速率,而不用任何緩衝或造成中斷性故障。

Silverlight對自適應流媒體傳輸(Adaptive Streaming)的支援是可擴充的,允許任何人接入他們自己的邏輯來控制媒體內容的來源,應該使用什麼位元速率等。這意味著,任何CDN(內容發送網路)或媒體交付供應商可以輕鬆地與Silverlight整合,發送超高品質的錄影。

內容保護

Beta2包含了DRM內容保護,支援Windows DRM和PlayReady DRM,兩者都能跨瀏覽器和跨平台工作。

伺服器端的播放清單

Beta2加了對伺服器端播放清單的支援(以前的版本只支援用戶端播放清單)。

Networking方面的改進

Silverlight 2 Beta2包含了一堆networking方面的工作:

跨域Sockets

Beta2現在允許跨域的HTTP和Sockets的networking支援(意味著你的應用可以調用不同於當前應用下載自的網站的網站)。

Silverlight會查看目標伺服器上是否存在這樣的XML策略檔案,這檔案表明了是否允許跨網域網路訪問。Silverlight支援一個我們開發的新XML策略檔案格式,以及Flash策略檔案(意味著可為Flash所用的現有的網站,不用費額外的功夫,就可在Silverlight中調用)。

後台線程Networking

Beta2現在允許Silverlight應用在後台線程上開始網路請求,以及在後台線程上處理網路回複。這將促成一大堆非常強有力的情境,允許你在做HTTP和Socket網路通訊時,避免阻塞瀏覽器的UI線程。

雙向通訊(伺服器推送)

Beta2支援與伺服器上的WCF服務建立雙向通道(duplex communication channels),這將促成一個非常乾淨的編程模型,允許伺服器將訊息“推送”到Silverlight用戶端,而不用開發人員手工輪詢伺服器端的變動。這個編程模型在多種情境中都非常有用,包括立即訊息/聊天應用,象股票行情和交易這樣的監測/更新應用等。

Web服務

Beta2還顯著改進了與基於SOAP的web服務間的互操作,Web服務代理類端點URL現在不用重新編譯應用就可配置。Visual Studio現在還有一個新的“Silverlight-enabled WCF Service(啟用了Silvelight的WCF服務)”項目模板,你可以將其加到ASP.NET web項目中,將服務發布到用戶端。

REST和ADO.NET資料服務

Silverlight包括了對操作基於REST的web服務的支援。

Beta2加了對調用和消費ADO.NET Data Services(以前的代號為“Astoria”)的支援,ADO.NET Data Services將作為.NET 3.5 SP1的一部分發布,將便利在 ASP.NET web項目中發布可為任何使用REST URIs的用戶端所消費的資料端點。 Silverlight Beta2 現在包括了 ADO.NET Data Service 用戶端支援,這些支援允許你輕鬆地調用這些服務(還可以在Silverlight中使用LINQ運算式來表示這些服務的遠程REST查詢)。

JSON

Silverlight支援調用網上的基於JSON的服務。

Beta2現在還包括了LINQ to JSON支援,允許你在Silverlight應用中輕鬆地查詢,過濾,並將JSON結果映射到.NET對象上,這方便了對已經發布在網上的現有的AJAX端點和服務的調用和操作。

資料方面的改進

Silverlight 2 Beta2 包括了資料方面的一堆工作:

DataGrid

Beta2給DataGrid控制項加了若干個新功能,這些功能包括:

  • 行與列的高寬自動調整(Auto-sizing)支援
  • 按列排序(單列和多列排序支援)
  • 對終端使用者重排縱列順序(Column re-ordering)的支援(允許他們拖放縱列來重新安排順序)
  • 固定列(Frozen column)的支援(允許你防止某個特定列的定製)
  • 效能和缺陷修補

資料繫結

Beta2加了更多核心的資料繫結功能以及更好的驗證支援,這些包括:

  • 控制項上每個綁定的Validation和BindingValidationError事件處理支援(允許你用TwoWay綁定來處理輸入驗證)
  • 對附加屬性(attached properties)綁定運算式的支援
  • 更豐富的綁定值轉換支援(包括值轉換後備支援(fallback support))

隔離儲存(Isolated Storage)

Silverlight允許應用將資料儲存在用戶端(通過我們稱之為“Isolated Storage”的特性),應用可以提示使用者授予它們改變該儲存大小的許可權(例如,一個使用者也許會准許一個email程式50MB的本機存放區)。

Beta2將提供給Silverlight應用的預設本機存放區空間的大小增加到了1MB, Beta2現在還對管理每個網站的儲存許可權提供了更好的終端使用者支援,以及輕鬆取消/刪除應用的本機存放區的能力。控制這些的管理UI現在可以由終端使用者右擊Silverlight應用,選擇“Silverlight Configuration(配置)”菜單選項來調出來。

理解與Silverlight 1.0和Silverlight 2 Beta 1間的相容性

Silverlight 2 Beta2與針對Silverlight 1.0的應用是相容的。

Silverlight 2 Beta2 運行不了針對 Silverlight 2 Beta1 的應用, 因為,為了加入Silverlight 2的新功能,我們在兩個beta版本間做了若干個API變動。安裝了Silverlight 2 Beta1的瀏覽器在訪問宿主了Silverlight Beta2應用的網站時,會提示升級到新的Silverlight beta版本。升級之後,不卸載Beta2的話,是無法再運行Beta1應用了。這意味著,如果你已經在網上發布了用Beta1開發的應用的話,你大概要儘快將其升級到Beta2。

原文地址:Scott Guthrie's Blog on ASP.NET and .NET

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.