微軟Silverlight是一個跨瀏覽器、跨客戶平臺的技術,能夠設計、開發和發布有多媒體體驗與富交互(RIA,Rich Interface Application的網絡交互程序。
因為Silverlight提供了一個強大的平臺,能夠開發出具有專業圖形、音頻和視頻的Web應用程序,增強了用戶體驗,所以SilverLight吸引了設計人員和開發人員的眼球。同時,Silverlight還提供了強大的工具來提高他們的工作效率。
Silverlight能創建一種具有很高藝術性的應用程序,具有以下的特點:
◆一種跨瀏覽器、跨平臺的技術。可以在所有流行的瀏覽器中運行,包括Microsoft Internet Explorer、Mozilla Firefox, Apple Safari, 和Opera,同樣可以運行于Microsoft Windows和Apple Mac OS X。
◆無論在哪運行,都能提供一致的用戶體驗。
◆需要下載很小的文件來安裝以支持,只需幾秒。
◆它的視頻和音頻流,視頻質量無論從移動設備還是桌面瀏覽器都是720p HDTV video模式。
◆用戶可在瀏覽器中直接對其進行控制,可以拖動、翻轉、放大的圖片。
◆它讀取數據并且更新外觀,但不會通過刷新整體頁面來打斷用戶操作。
Silverlight將多種技術結合到一個開發平臺,可以在其中選擇符合需求的合適的工具和編程語言。SilverLight提供了如下的特性:
◆WPF和XAML。Silverlight包含了Windows Presentation Foundation(WPF技術,這個技術在創建用戶界面時極大的擴展了瀏覽器元素。WPF可以創建融合圖形、動畫、媒體和其他的富客戶端特性,擴展了基于瀏覽器的用戶界面,超越了HTML所提供的。可擴展應用程序標記語言(XAML提供了創建WPF元素的聲明性標記。
◆對于JavaScript的擴展。Silverlight提供了對于全球瀏覽器腳本語言的擴展,從而為瀏覽器用戶界面提供更加強大的控件,包括與WPF元素工作的能力。
◆跨瀏覽器,跨平臺的支持。Silverlight在所有的流行瀏覽器(任何平臺運行一致。設計和開發應用程序不需要擔心你的用戶是什么平臺什么瀏覽器。
◆與現存應用程序的集成。Silverlight可以與已經存在的JavaScript和ASP.NET AJAX代碼無縫集成,不會使已經創建的功能缺失。
◆可訪問.NET Framework編程模型和相關工具。可以使用托管的Jscript和IronPython或者C#和VB這樣的動態語言來創建基于SilverLight的應用程序。可以使用Visual Studio這樣的開發工具來創建基于Silverlight的應用程序。
◆LINQ。Silverlight包含集成查詢(LINQ語言。
◆如果已經使用ASP.NET,可以將Silverlight集成到熟悉的ASP.NET服務器和客戶端功能。可以在ASP.NET中創建基于服務器的資源,使用ASP.NET的AJAX特性與服務器端資源交互而不會打斷用戶。
開發工具:
可以使用已經具有的技能和熟悉的工具來創建基于Silverlight的應用程序,在Web頁面中,既可以使用HTML,也可以使用Silverlight的WPF元素,和HTML一樣,在Web應用程序中XAML同樣可以使用聲明的標記來創建用戶界面,不同的是,XAML提供了更強大的元素。
可以使用強大的Visual Studio 2008 創建Silverlight應用。(Silverlight在Visual Studio 2008 的IDE中作為一個插件而得到支持。同樣Visual Studio為Silverlight提供了開發工具,比如.NET Framework中已經為創建應用程序提供的強大的編輯器、項目管理、調試等等。
設計人員可以輕松的擁有使用Expression Studio進行設計、編譯和發布Silverlight應用程序。Expression Studio有創建圖像、媒體,設計交互和產生體驗需要的一切能力。Expression Blend能夠生成XAML進行輸出,這樣使用Visual Studio的程序員和使用Expression Blend的設計人員可以共享同樣的文件。
Silverlight 的核心是瀏覽器增強模塊,其作用是呈現 XAML 并在瀏覽器界面上繪制生成的圖形。它的下載體積較小(不到 2 MB),可以在用戶點擊包含 Silverlight 內容的站點時進行安裝。該模塊向 JavaScript 開發人員公開 XAML 頁面的底層框架,以便實現頁面級的內容交互,這樣,開發人員就可以進行自己的工作,例如編寫事件處理程序或使用 JavaScript 代碼來處理 XAML 頁面內容。
在此,可以表明微軟的Silverlight將會更加靈活和交互,并且具有超高的矢量方式,可以對圖像進行無限制的伸縮,對flash MX地位發起了挑戰。
2008年6月底,微軟發布silverlight2.0 beta,在2008北京奧運會時,NBC網站使用了silverlight2.0進行奧運的網上全程直播和點播。
Silverlight 2
Microsoft 努力幫助保護您的隱私,同時為您提供個人計算所需的性能優異、功能強大且便于使用的軟件。此隱私聲明對 Microsoft Silverlight 2 ( "Silverlight" 的數據收集和使用慣例進行了說明。此隱私聲明不適用于其他聯機或脫機的 Microsoft 網站、產品或服務。
Silverlight 可幫助您使用 Internet 瀏覽器訪問和體驗網站上的豐富內容。此隱私聲明對 Silverlight 如何與 Microsoft 進行交互來為您提供 Silverlight 更新以及其他支持 Internet 的功能進行了說明。
Silverlight 不會要求您提供聯系信息,例如姓名、地址或電話號碼等。但是,Silverlight 有時會通過 Internet 將獨特的計算機特定信息傳遞到 Microsoft。
基于 Silverlight 的應用程序可能會出于各種原因而在您計算機本地存儲數據文件:為了保存自定義設置、為了存儲具有大量圖形特性的大型文件(例如游戲、地圖和圖像),以及為了存儲在某些特定應用程序中創建的內容。應用程序存儲在默認情況下是出于開啟狀態的,但網站最初會被限制為存儲容量總計 1MB。如果應用程序要求 1MB以上的容量, Silverlight 就會詢問您是否要為承載該應用程序的網站增加可儲存空間。
Silverlight 3 Beta
1. 支持更多的媒體編碼格式
在Silverlight3中新增加的多媒體編碼格式包括H.264,AAC,MP4。Silverlight這項技術,從出生以來,就一直把對多媒體,尤其是視頻的支持,放在首要位置。這次對更多的編碼格式提供支持,方便網站建設者更容易的發布、部署視頻資料,只需要如下一行XML:
2. 利用GPU加速
隨著顯卡計算能力的加強,應用程序把越來越多的圖形計算任務從CPU中拿出來交給GPU完成。然而,要利用到GPU,對程序員而言通常意味著更多的編碼任務,在Silverlight3中,這個任務的復雜程度被大大簡化,只需要在XAML中多加入幾行XML代碼,就可以輕松享受GPU的超強計算能力。
3. 透視化3D
透視化3D,簡單的說,就是把2D對象放到3D空間中去。和傳統的3D把一個3D空間的對象投影到2D空間中不同,透視化3D意味著更高的性能,更友好的編程接口,同時能完成我們80%的3D任務。
4. 自定義特效
在silverlight3中,引入了shader的概念,它是一個像素粒度的操作——每當silverlight3要顯示一個像素的時候,它對shader說:“我要顯示這個像素了,你是否要做些處理,實現某些特效?”。我們來看看shader的強大之處:下面一個示例中,左邊的圖像是背景圖像,右邊的圖像是前景圖像,在silverlight3之前,我們盡管可以同時顯示這兩個圖像,但是背景圖像會被前景遮住。(當然可以設 置前景的透明度,但是這樣整個前景圖像的清晰度就下降了)我們在顯示前景圖像的時候可以應用一個shader:把所有的黑色過濾掉。這樣,我們在前景上過濾掉所有黑色背景的同時,還擁有了一個清晰的火焰。
目前,除了官方提供的陰影(shadow)和模糊(blur)shader使用GPU加速,其他的shader仍需運行在CPU上。
5. 更多的控件支持
每一個新的silverlight版本的發布,都伴隨著很多新的控件的問世。這個版本也不例外,新推出的控件有:DockPanel,Expander,Label,TreeView,ViewBox等等。在這里舉一個“Save as...”(另存為控件的例子。可能有的朋友會問,“另存為”作為一個耳熟能詳的控件,為什么要等到silverlight3才提供?答案是出于安全性的考慮:silverlight為了保護用戶的安全,對本地文件的讀寫有很大的限制。(否則的話,如果服務器端可以隨意讀寫用戶的本地文件,那么就很容易做出一個釣魚網站了)。silverlight3中,對另存為控件的支持也有著安全性的考慮。開發人員可以創建一個SaveFileDialog實例,但是當用戶選定本地文件的時候,他只能得到這個文件的stream,而不是這個文件的路徑。這樣的設計避免了提供一個打開任意路徑的本地文件的功能,從而使silverlight運行在一個更為安全的環境中。
6. 本地消息傳遞(local messaging)
Silverlight是瀏覽器的一個插件,在同一時間可能會有多個實例。比如多個瀏覽器同時訪問包含silverlight的網頁,就會有多個silverlight的實例同時運行,本地消息傳遞允許這些不同的siliverlight控件實例之間互相通信。
7. 在瀏覽器外運行silverlight (Out of Browser)
silverlight3支持把一個silverlight頁面安裝到本地,用戶可以像一個桌面程序一樣離線使用這個程序,并且可以右鍵卸載這個程序。
[1]作為Microsoft現下火熱推出的新一代的網絡技術,Silverlight受到了相當的關注。一項能跨瀏覽器,跨平臺(原文為cross browser,cross platform,當我在官網上看到這兩句的時候著實小小的吃驚了一下)更直觀聯動前臺和后臺的技術,無疑讓更多B/S開發人員感到興奮。
到底Silverlight應該怎么理解?可能大家第一眼見到它的時候,覺得和Flash沒什么區別——至少視覺效果上如此。但當你了解到這個“類Flash”的東西除了能實現Flash的全部功能外,竟然還能進行數據綁定的時候,肯定會感到相當的新奇!能隨時更改按鈕鏈接的“Flash”!能顯示數據庫數據的“Flash”!能實現前后臺交互的“Flash”!Just think about it!
無論你只是抱著看一看的態度也好,想深入了解也好,Silverlight都有足夠的理由讓你一試,因為它的安裝和配置是多么的簡單直觀……
必備的軟件平臺:(來自http://silverlight.net/GetStarted/)
Visual Studio 2008 beta2,代號Orcas的IDE,大家肯定都知道了
Silverlight 1.0 and 1.1 Alpha,目前Silverlight應用的兩個版本
VisualStudio SilverlightTools Alpha,對應Visual Studio的Silverlight工具
Expression Blend 2 September Preview,用于開發Silverlight視覺的工具,Flash與Photoshop的結合體
以上軟件的安裝順序應該是Visual Studio 2008 beta2---
新聞熱點
疑難解答