作者:Barak Cohen
Microsoft Corporation
2007 年 4 月
適用於:
Silverlight Community Technology Preview (CTP) Feb 2007
摘要: 本白皮書中包括 Silverlight (先前代號為 "WPF/E") 架構的概觀,並說明此架構如何適用於 Microsoft 所推出、可用來建立新一代 Web 應用程式的產品。此外,此白皮書亦將探討 Silverlight 技術的架構。(列印共 6 頁)
目錄
簡介
Silverlight 如何延續使用者體驗
Silverlight 架構
部署與封裝
使用 Silverlight 的案例
結論
簡介
Microsoft Silverlight 是跨瀏覽器、跨平台的外掛程式,可實現新一代 .NET 架構的媒體體驗,以及豐富的互動式 Web 應用程式 (RIA)。Silverlight 提供靈活一致的程式設計模型,支援 AJAX、Python、Ruby 和 .NET 語言 (例如 VB 和 C#),並可以和現有 Web 應用程式整合。Silverlight 的媒體功能包含快速、具成本效益的高品質影音傳遞方式,可傳送至所有主要瀏覽器,包括在 Mac 或 Windows 執行的 Firefox、Safari 和 Internet Explorer。藉由使用 Expression Studio 和 Visual Studio,設計和開發人員可使用現有工具建立 Silverlight Web 體驗,更有效地協同作業。
Silverlight 如何有效延續使用者體驗
現今客戶對於應用程式和線上體驗的需求,絕不僅止於滿足個人在效能和效率上的需求,同時必須提升使用者對於某企業之產品或服務的滿意度。在多數情況下,滿意度具有感染力和情感影響力,因為這會形成個人對企業整體形象的觀感,同時也會影響個別使用者所接觸對象的認知。Microsoft 了解這樣的關聯,因此持續承諾將使用者體驗 (UX) 視為最重要的考量。UX 不僅涉及美觀的使用者介面 (UI);它更是應用程式和使用者互動的集聚點。因此,我們的任務就是要因應客戶需要,隨時隨地提供絕佳的使用者體驗:不論是在網頁、裝置上,或者在 Office 以及 Windows 中。
最近 Microsoft 自行投資的兩個 UX 範例,包括 Microsoft Windows Vista 以及 2007 Microsoft Office。其中都把焦點放在使用者體驗方面,以此為目標進行細微但基本的改變,以提升這兩項產品的生產力和滿意度。
- Windows Vista 推出更簡易的方式,讓您輕鬆視覺化檔案、媒體及通訊功能,同時進行管理。在所有 UI 中,首要考量都是以使用者為中心的工作與體驗。其他主要有關 UX 的範例,還包括全新的工作切換器 (Task Switcher) (ALT+TAB) 以及 Wi-Fi 訊號通知 (Wi-Fi Signal Notification)。
- Microsoft Office 2007 則推出全新的「功能區」概念,以取代傳統的工具列。功能區採用自然式的延伸功能,可將尋找 Office 應用程式功能的平均時間縮減到 10 秒鐘左右。
這兩項決策主要受到產品設計、設計師,以及與其他開發團隊成員協同作業的影響。若要了解更多詳細資訊,請造訪 http://www.microsoft.com/design。
.gif)
圖 1.Microsoft UX 的延續
從平台的觀點而言,Microsoft 推出的產品可使用相同的技巧來解決不同的應用程式互動介面,如 [圖 1] 所示。
- ASP.NET AJAX 為採用 AJAX 並以網頁標準建立的應用程式,提供標準 Microsoft 支援的優勢 (長達十年的全年無休服務)。此技術更藉由改善應用程式的互動參數 (例如重新整理、資源用量和瀏覽方式),讓標準 Web 應用程式更有效率。
- 針對需要 2-D 動畫、向量圖形和高逼真度音效和影像的網頁,Silverlight 除了支援 HTML 之外,更擴增了瀏覽器呈現 XAML 的能力。藉由採用網頁架構進行開發,包括產業標準 AJAX (Asynchronous JavaScript and XML) 以及適用於展示層的內嵌 XML 標記 (XAML),Microsoft 即將為網頁增添各種功能豐富的元素,以突破現今的「黑箱作業」瓶頸。還有一項附加優勢,就是以 Silverlight 和 ASP.NET AJAX 編寫的內容,會變得更容易搜尋,並且可以跨平台 (Windows 和 Macintosh) 以及跨瀏覽器 (Internet Explorer、Firefox、Safari) 使用。
- 在設計上,ASP.NET AJAX 和 Silverlight 兩者的技術可以互補。就廣義上來說,無論是在用戶端還是伺服器端上,Silverlight 都可以與任何 AJAX 應用程式互動。這類型的整合範例,包括應用程式的對應、使用豐富展示層功能的視訊播放等等。
- 至於 Windows 的互通式應用程式,Microsoft 則提供 .NET Framework 3.0 程式設計層 (隨附於 Windows Vista 中,Windows XP 也有可用版本),其中包括 Windows Presentation Foundation (WPF)。使用 WPF 可以創造出豐富、動人、互通式的應用程式與體驗,並充分發揮 Windows 平台的優勢,包括 UI、媒體、離線通訊和文件支援。WPF 與 Silverlight 一樣,使用同一個 XAML 的超集。
.gif)
圖 2. Microsoft 產品全面提升 UX
如 [圖 2] 所示,Silverlight 並非孤立的平台;它是一套完整產品的一部分,可以讓應用程式的使用者體驗更上一層樓。其中包括伺服器端的元件、工具 (Microsoft Expression 和 Microsoft Visual Studio),以及 UX 技術。
Silverlight 架構
Silverlight 有幾個基本特性:
- 它能夠與 Windows 和 Macintosh 上的各種瀏覽器整合。
- 它能夠呈現由 XAML 定義的更豐富的使用者體驗。
- 它能夠呈現媒體 (音樂和視訊)。
- 它能夠接受與 Web 設計撰寫模型一致的程式設計架構。
- 它所佔空間不大。
Silverlight 的設計目標包括上述特性,如 [圖 3] 所示。
.gif)
圖 3. Silverlight 架構
- 輕量型瀏覽器外掛程式 -- Silverlight 具有 Windows 和 Macintosh 模組,其設計目標在於增強 Internet Explorer (6.0 和 7.0 版)、Firefox 2.0 以及 Safari 瀏覽器的功能。December 2006 CTP for Windows 的大小為 1.1 MB。
- 原生展示執行階段 -- 以軟體為基礎的瀏覽器增強功能,除了瀏覽器原生的 HTML 轉譯功能之外,還可以轉譯以 XAML 為基礎的互動式 2-D 圖形、文字及媒體。XAML 可以內嵌於檔案或封裝內。
- 互動式視訊及音訊 -- 跨平台獨立媒體執行階段,除了 MP3 以外,還可轉譯 Windows Media 內容 (WMV 和 WMA) (將於 December 2006 CTP 之後推出)。在 XAML 中,視訊和音訊會以媒體元素處理,以呈現更高的展示靈活度。此外,媒體支援更可以利用 Windows Media 周遭的基礎結構和生態系統,讓高品質媒體的播放也可以符合成本效益。
- 程式設計層 -- 與 Web 架構一致,Silverlight XAML 使用 DOM 模型,並向 JavaScript 公開。如此一來,AJAX 程式便可使用相同的程式設計範例和準則 (於用戶端和伺服器上),來運用延伸標記轉譯功能。在 December 2006 CTP 之後,我們也將使用完整 CLR 的子集合,啟用 Managed 程式碼程式設計模型,以增強瀏覽器的程式設計能力,並實現效能更好、更易於擴充的 Web 應用程式。
部署與封裝
包含 Silverlight 元素的網頁內容,可採用以下技巧建立:
- 內嵌於 XAML 和 JavaScript。
- 透過外部 XAML 檔案和 JavaScript 檔案。
- 透過包含 XAML、Managed 程式碼、圖形、字型和媒體的已壓縮內容封裝 (December 2006 CTP 之後推出)。串流處理媒體來源可從 XAML 媒體元素進行參照。
.gif)
圖 4. Silverlight 封裝 (Feb 2007 CTP 之後)
我們相信應用程式封裝的靈活度,以及應用程式架構與 Web 標準和作業模式的一致性,可以創造出許多改善 Web 應用程式的影響力和效率的機會,讓應用程式更容易擴充、容錯度高、動態性更高 (他們可以在作業中改變其標記),並且讓使用者更容易搜尋內容。
需要 Silverlight 的網頁可以偵測 Silverlight 外掛程式是否已安裝,並在需要時引導使用者進行下載和安裝 (可透過重新導向或物件標記)。Silverlight SDK 提供相關文件。
使用 Silverlight 的案例
Silverlight 最適合以下 Web 應用程式案例,其中包含許多實例:
- Web 媒體 -- 可播放宣傳活動的內容、混合產品資訊的視訊、內含廣告的動態視訊,以及音訊的播放等等。
- 在單一頁面中提供豐富的功能 (小型應用程式) -- 休閒遊戲和小工具
- Web 視覺化元素 -- 瀏覽屬性、資料視覺化,以及廣告
Silverlight 是專為連接至主機 (無法離線作業) 的網頁內容所設計,可以和使用者有多方面的互動,並且可以在任何瀏覽器上呈現。
結論
本文提供 Silverlight 架構的概觀,並說明此架構如何適用於 Microsoft 所推出、可用來建立新一代 Web 應用程式的產品。Silverlight 是新一代應用程式設計、建置及呈現方式的成員之一。有了這種嶄新的標記式 UI 和靈活的程式設計模型,企業就可以透過最適合客戶的呈現管道,提供最優異的使用體驗。