
微軟7月10日正式發佈媒體播放器Silverlight 3
頁的速度,而且透過設定就可以讓Silverlight程式離線執行了。
Silverlight 5 / HTML5 / CSS3 / Visual Studio / Flash CC / Office2012 / Flash Player 11 / Windows 8


微軟的RIA網頁互動技術Silverlight 3,改用二進位方式編譯XAML程式碼,來提高使用者瀏覽網頁的速度,而且透過設定就可以讓Silverlight程式離線執行了。
微軟在MIX09會議發表新版Silverlight 3的測試版,新增了多項控制元件和影音繪圖功能。此外,微軟也改變Silverlight 3的XAML程式碼的儲存方式,改用類似Flash的方法,以二進位編碼檔來提高執行速度。
為了讓.NET開發者更容易開發出網路RIA應用,微軟在2年前發表了Silverlight技術來和Adobe的Flash技術對抗,臺灣已有企業,如中華航空、寶來證券、新光證券等也開始採用Silverlight來打造客戶服務。甚至新光證券有高達5成的客戶,改用Silverlight打造的電子下單平臺來進行交易。
為了滿足RIA企業應用需要的執行效能,微軟在上周釋出的新版中,改變了Silverlight XAML程式碼的檔案編碼方式,不再使用文字格式,而是將XAML編譯成二進位檔。臺灣微軟開發工具暨平臺推廣處資深應用架構技術經理李匡正說:「新版做了很多效能優化,像程式碼編譯後就可以提高速度。」
新光證券已開始在內部測試環境中,改用Silverlight 3來執行電子下單系統,新光證券技術總監吳志宏表示:「用追蹤50檔股票的成交價監控網頁為例,當使用者端進行瀏覽、換頁等動作時,新版大概比2.0版快了40%。」
從開發角度來看,吳志宏表示,只需要對原來用2.0版開發的程式作一些修改,升級新版後,使用者端的瀏覽速度就可以提升,他認為:「值得進行升級。」不過,目前他擔心最終正式版的功能還會改變,所以,新光證券只進行內部測試,不會全面升級。微軟表示,今年內會推出正式版。
除了改善瀏覽速度外,微軟在Silverlight 3.0測試版中,增加了十幾項控制元件。
例如資料表DataGrid元件、樹狀檢視用的TreeView元件、輸入自動完成的元件、處理資料呈現的DataForm元件和換頁控制用的DataPager元件等。 新版也終於內建了開發者常用的資料繫結(Data Binding)功能,新增的元件繫結(Element-to-Element Binding)機制,可以讓兩個互動元件的特定屬性建立連結,其中一個元件的屬性改變,也會連帶變更對應屬性的數值,例如滑鼠拖曳價格區間的滑桿(Slide)按鈕時,物品清單上的數量會自動依據滑桿顯示的數值,自動過濾掉不符條件的項目。
開發者可以專注在元件之間的程式邏輯,透過繫結機制進行設定,就可以讓元件之間的屬性資訊自動同步,不需要像過去那樣,得自行撰寫同步的程式碼。
新版也將RIA應用延伸到桌面系統中,微軟MVP呂高旭表示:「寫好的Silverlight程式經過一些設定,就可以直接執行,不需要瀏覽器。」此外,呂高旭補充,Silvelright 3還會在本地端檔案系統中隔離出一塊空間,讓離線執行的Silverlight程式保存資料。
整體而言,Silverlight 3除了強化影音效果外,也增加了更多企業應用需要的前端互動元件,離線技術也能解決RIA暫時無法連線的困擾。精誠資訊多媒體產品處知識產品事業部產品經理宋志峰認為:「Silverlight的功能逐漸追上Adobe的Flash/Flex/AIR技術。」
不過,宋志峰認為目前的競爭不一定是好事,「雙方不斷推出新功能,有時甚至拿出工程等級的API, 但是沒有包裝成友善好用的介面,使用者不見得受益。」
新光證券技術總監吳志宏表示,Silverlight新版讓下單網站的瀏覽速度提高了約4成,可以提供更多即時資訊。不過,他擔心功能改變產生相容問題,新光證券還是要等到正式版發表後才會採用。
畫筆決定如何在螢幕上繪製對象。用 Fill 繪製內容,用 Stroke 繪製輪廓。畫筆分純色畫筆、漸變畫筆和圖像畫筆幾種。純色畫筆通過 fill 屬性(如前例使用的 Fill="Black")的固定色、或使用 SolidColorBrush 作為附加屬性實現(如下所示):
顏色可以通過名稱(支援 141 種命名的顏色)或十六進位 RGB 定義。
漸變畫筆通過在規範化空間中定義漸變域和若干漸變停留來實現。舉例來說,假設在灰色陰影中,需要一個線形漸變,從右至左,從黑變白。指定漸變停留 0(規範化線的開端)為黑色、漸變停留 1(規範化線的結束)為白色。Silverlight 就將為您繪製這個漸變。漸變也可以在二維空間中用規範化矩形定義空間來繪製(0,0 為左上,1,1 為右下)。要定義一個二維的填充矩形,左上為紅色,右下為黑色,中間是流暢的漸變,使用 XAML 如下:


XAML 是一種基於 XML 語言,可用於定義圖形資源、使用者界面、行為、動畫等。微軟將它作為在 Windows Presentation Foundation 中使用的標記語言推出。Windows Presentation Foundation 是一種面向桌面的技術,屬於 .NET Framework 3.0 的一部分,旨在輔助協調設計人員和開發人員在建立應用程式時的工作。
一直以來,設計人員使用一套工具和資源建立應用程式,而開發人員則使用自己的另一套工具。工具集的不符合可能對最終的應用程式產生負面影響。微軟推出新的 Expression 工具套件,主要是 Microsoft ExpressionR Design 和 Microsoft Expression Blend,讓專業設計人員可以分別將圖形項目和使用者界面放在一起,將最終結果表述為 XAML,以便開發人員用此構建應用程式。
首次發佈的 Silverlight 所使用的 XAML 不同於 Windows Presentation Foundation 使用的 XAML,前者是可用於桌面的完整 XAML 的面向 Web 子集。因此,如果您熟悉 Windows Presentation Foundation XAML,您可能會注意到缺失一些東西,比如標記、頁面資源、資料綁定和豐富組件模型。
在 XAML 中,元素是用 XML 標記定義的。每個 Silverlight 文檔的根層級都是 Canvas 標記,它定義繪製 UI 元素的空間。該 Canvas 應包含 Silverlight 需要的 XML 命名空間聲明。
一個 Canvas 可以有一或多個子項,子 Canvases 又可以建立它們自己的子項。Canvas 子項有相對於其父項的位置,而不是對根 Canvas。下面的範例中,一個 Canvas 包含一個矩形 (Rectangle),該矩形放在距其父項左上角 25 像素的位置。

一個Silverlight Slideshow相本範例
網站名稱:First Floor網址:http://www.firstfloorsoftware.com/Default.aspx有一個不錯的Silverlight Spy工具
有下列主要功能:
Convenient XAML object explorer
XAML object property grid allows for getting and settings property values
Regeneration of the XAML xml based on the object model
Statistics of used objects
Tracing facility for debugging Silverlight 1.0 applications
還有一個Silverlight Slideshow的相本範例,可以參考