SilverLight简介和优点
SilverLight介紹
SilverLight是Windows PresentATIon Foundation的一個子產品,其利用了跨瀏覽器Web技術進行設計,以實現多操作系統,甚至是移動設備上的無縫運行。和Flash一樣,WPF/E 是作為一個瀏覽器的插件,可以顯示矢量圖形、動畫和視頻。
Silverlight集成了多種現有Web技術和設備,它可以在Windows、Mac平臺上運行,支持IE、Firefox,甚至Apple的Safari Web瀏覽器。而無需對現有的網站設計進行移植,甚至包括利用Adobe Flash設計的內容。
至于SilverLight與Flash的區別,微軟的一位高層人士曾這樣描述:一個WPF/E程序“并不是傳遞給Flash播放器的一個編譯好的二進制文件。”相反,所有的代碼都是基于標準的,且圖像都使用了XAML。
同時,與Flash的內容不方便搜索引擎收錄不同,SilverLight是以DOM型式公開它的元素樹,內容能很好被搜索引擎收錄。
SilverLight產品介紹
1、Silverlight通過小巧的瀏覽器插件將視頻、交互性內容以及其他應用融合在一起。該解決方案集成了強大的圖像及圖層技術,支持任何尺寸圖像的無縫整合,并提供適合廣播的圖層技術,可以在圖像上添加按鈕、標題或是其他交互性內容。
2、 Silverlight允許利用WMV標準從高清設備向移動設備提供高質量視頻和音頻。此外,該工具通過Expression Media Encoder以及Tarari公司的內建平臺,支持15X的快速視頻編碼及硬件加速。
3、Silverlight支持多種平臺,使用戶能夠方便的進行代碼重用,并通過不同平臺無縫的連接到Web。
4、Silverlight集成了多種現有Web技術和設備,這意味著它可以在任何服務器和發布平臺上使用,而無需對現有的網站設計進行移植,甚至包括利用Adobe Flash設計的內容。
5、Silverlight采用了已在.NET 3.0和Vista中使用的XAML語言,這使得Web內容和桌面內容的開發語言一致,從而降低了開發費用。Silverlight還兼容大量其他標準和 現有技術,包括ASP.NET、AJAX以及.NET 3.0,這使得開發者可以根據現有標準,或是采用微軟已成熟技術來開發基于Web的內容。
6、 此外,Silverlight為設計者和開發者提供大量的開發工具和開發環境支持。對設計者來說,Expression Design和Expression Blend軟件可以創建可重用界面,Expression Web使得在符合W3C標準的網站開發中可以使用XHTML、XML、XSLT、CSS以及ASP.NET等工具。對開發者來說,基于Visual Studio的Web開發支持包括ASP.NET AJAX在內的技術,并支持JavaScript,C#,VB,Ruby以及Python等多種開發語言。
7、 Silverlight瀏覽器插件的安裝程序簡單,體積約為2Mb。當用戶遇到使用Silverlight開發的網頁時,可以迅速的安裝這一插件。 Silverlight內建的視頻及動畫廣告解決方案靈活性很高,當傳輸廣播類型的視頻或是動畫廣告時,不會影響視頻的質量。而這一問題是現有技術普遍遇 到的問題。
8、通過獲艾美獎的Windows Media技術,傳輸流量可降低46%,并且和現有的Windows Media流量配置方案兼容。如果采用下一代Windows Server系統中的IIS媒體包,流量還將進一步下降。
9、Silverlight支持內容接入保護技術。無論在Windows還是Mac平臺上,Silverlight都支持多種商業模型,包括訂閱、租用、付費瀏覽或是預覽等。
?
?
Silverlight十件事情
微軟高調推出號稱“Flash殺手”的Silverlight之后,雖然得到了普遍的關注,但是僅有的幾個演示內容似乎仍不能讓大家弄明白這到底是有什么獨到之處,如果僅僅是替代Flash的已有功能的話,肯定不值得微軟如此隆重的登場推介。
簡單的說,Silverlight是一個跨平臺跨操作系統的插件,使Web開發者能夠在瀏覽器中建造豐富的媒體體驗和RIA應用。目前發布的版本為 RC版,可用于Windows平臺上的IE和Firefox瀏覽器,以及Mac OS X平臺上的Firefox和Safari瀏覽器。
在公共發布版本來臨之際,現在正是了解Silverlight的好時候,本文解釋了微軟的Silverlight 10個主要特點,希望能夠幫助你更多了解Silverlight的好處和局限性。
本文作者Shawn Wildermuth是微軟MVP(最有價值專家)(C#),Wildermuth Consulting Services的創始人,已經從事軟件開發超過20年。目前Shawn正在全美做Silverlight的巡回授課,教人們如何在自己的項目中使用Silverlight。
1、Silverlight是跨平臺/瀏覽器的
對于大部分開發團隊,創建一個能夠在所有流行的瀏覽器(包括IE、Firefox、Safari、Opera)上完美運行的Web站點是很具挑戰性的事情。這不只是增加代碼實現的問題,還要進行大量復雜的測試。
通常面對這個問題的解決方法有兩個:僅支持少數最流行的瀏覽器或者增加質量保證人員的數量。
而Silverlight允許“一次開發,到處運行”,微軟已經承諾會支持Windows和Mac上的Opera,而Silverlight的Linux版Moonlight也正在開發中。
2、Silverlight 1.1 才是好戲開場
對于目前的Silverlight 1.0 RC版,仍有很多組織在考慮是否開始在此平臺上進行開發。Silverlight 1.0已經有了許多重要有趣的功能,但還有更多的精彩內容仍需到1.1版才會出現。
Silverlight 1.1(目前仍處于Alpha預覽)初次開始支持.NET,包括了基本的.NET語言:C#和Visual Basic。而微軟說,Silverlight 1.1將會帶有.NET對動態語言的支持,例如Ruby、Python、動態VB和托管JScript。等到1.1正式發布,所有.NET語言的支持都會 加入近來,這等于給瀏覽器添加了.NET編譯器。
3、Silverlight 使用開發者們已經掌握的技術
Silverlight由微軟現有的一些技術創建而成,如XAML,JavaScript以及.NET技術。如果你已經很熟悉微軟.NET和Web開發技術,這些都可以應用在Silverlight的開發中。
你選擇開始新項目的Silverlight版本主要基于開發團隊的技術方向。如果你的開發團隊主要做ASP.NET服務器端開發(主要是C#和 VB.NET),你就需要等待1.1的正式發布,如果你的團隊專攻像JavaScript這類的客戶端開發,Silverlight就正適合你。
4、Silverlight的用戶界面使用標記語言——就像HTML
Silverlight使用XAML來進行用戶界面設計。你可能已經很熟悉另一種標記語言了:HTML。HTML文件是純文本的,它只需要告訴瀏覽器如何渲染網頁,XAML也是這樣的,只不過,執行文本命令的不再是瀏覽器,而是Silverlight。
無論開發者在服務器端用什么工具進行怎樣的開發,最后你總要創建動態的HTML頁面。XAML是標記語言,因此你可以使用服務器端技術動態創建XAML,就像你的開發團隊動態創建HTML一樣。標記語言有所不同,但技術并未變化。
5、Silverlight和AJAX技術互為補充
網絡是不斷進化的。回到1990年代,所有人都告訴開發者應該把盡可能多的執行都放在服務器端,技術上沒問題,但是這相當影響用戶體驗。現在AJAX已經廣泛流行開來,把代碼直接放置在瀏覽器中就可以有效改善用戶體驗,這方面最典型的代表就是Google Maps。
Silverlight也參照了這樣的模型,允許在瀏覽器中創造更加豐富的用戶界面,而采用AJAX和服務器端交換數據使Silverlight更加強大,結合了Silverlight豐富的用戶界面和AJAX的異步數據傳輸,用戶將得到非常舒適的交互體驗。
6、Silverlight允許開發者和設計者協同工作
網絡要求開發者們必須越來越多地考慮設計和美觀問題,對用戶的快速響應和直觀的界面已經成為開發標準,這需要在開發中同時加入美術設計和用戶體驗規劃。
然而,美術師和程序員使用完全不同的資源和工具。通常情況是,美術師把圖片文件或者HTML框架發給開發者以整合應用程序代碼,當設計做出更改,整合就沒完沒了地進行。
Silverlight能提供更好的開發模式。微軟提供給Silverlight的工具包是一系列復雜工具的集合,例如Visual Studio,還有連接設計者的工具,成為Expression Studio。
對于Silverlight,主要的設計工具是Expression Blend,它可以按設計者們所熟知的方式創建XAML內容,使用起來和Adobe Illustrator或者Photoshop差不多。但不同之處在于Blend和開發者使用同樣的工程項目文件,XAML和JavaScript文件, 就像在Visual Studio中那樣。當設計完成并修整好,不需要進行中間的整合過程,設計者就可以看到開發人員直接將其作為項目素材加入開發項目。這樣做有助于設計者和 開發人員更加緊密地協同工作。
7、Silverlight將分包發布
Silverlight會分成多個數據包發送給瀏覽器,也就是說代碼會分成一個或多個包(JavaScript文件,編譯文件等等),設計也分成一個或多個包(XAML),以及其他文件(包括圖片、字體、視頻)。
剛開始習慣了Flash的單文件分發模式的開發者會不大理解為什么這樣做。實際上,這是有好處的。分離的包比現在的Flash完整打包更有助于在服 務器端動態地創建內容,并按照標記語言自由組合。Silverlight也提供功能可以使用zip文件把所有XAML代碼使用的內容打包給用戶下載。
8、Silverlight是嶄新的
在寫就本文的時候,Silverlight 1.0為RC版,Silverlight 1.1則剛剛發布Alpha版,這項技術與類似的其他公司同類技術(尤其是Adobe的Flash和Flex)相比還不夠成熟。Flash目前已經到了 9.0,它花了很長時間才達到現在的普及度,但這不是說Silverlight追不上來,微軟在學習他人的經驗和教訓方面很有一手(可以參考一下Java 和.NET),當然這也不是絕對的。
Silverlight不是Windows Forms、Windows Presentation Foundation(WPF)、Java Applet或者Sharepoint的替代者,簡單的說,如果你需要創建豐富的,優秀的,同時具備跨所有平臺和操作系統的應用,那么 Silverlight正合適。
9、Silverlight XAML對照WPF XAML
要把XAML吹捧成為微軟WPF的特長之處并不難,但是它實際上并沒有看起來那么優秀,這一方面是由于WPF較低的采用率,另一方面就是WPF XAML和Silverlight XAML的區別了。
首先,WPF的采用率相對于其他客戶端技術而言(例如Visual Basic 6和.NET的Windows Forms)比較低,因此XAML也基本上被荒廢了。
第二,Silverlight XAML的語法比WPF XAML要簡單一些,當然也會比WPF XAML弱一點,這既是好事也是壞事。Silverlight非常容易上手,但是從WPF轉移而來的開發者可能會覺得有點不夠用。
按我的感覺,較簡潔的語法對于Silverlight實際上是最合適的,因為運行環境對于用戶而言越精簡越好。Silverlight并不需要把所 有東西都囊括進來,對于一個輕量級客戶端而言沒有這個必要。當然,要能給Silverlight增加更多的功能肯定不錯,但是目前不能僅僅考慮這些,我們 需要謹慎考量加入多少,同時還能保持接口的簡潔和高效。
10、Silverlight非常適合學習XAML
就象前一節所說的,Silverlight有著輕量級的XAML語法,這意味著它對于學習XAML的工作方式非常有益,引導那些正在學習XAML的 開發者創建簡明清晰的代碼,幫助他們快速理解Silverlight的功能特性,當他們開始投向WPF的XAML的時候,就會發現更多的功能和特性已經準 備就緒了。
相反的,如果開發者從WPF開始應用XAML,隨后換到Silverlight的話就不得不扔掉許多特性。Silverlight的運行時庫目前只有大約4.5MB,.NET 3.0運行時庫(第一個支持WPF的)則接近30MB。
Silverlight是一個對公司、消費者、用戶都大有裨益的新技術,看了上面這些,現在你可以決定該如何在你的Web戰略中應用Silverlight了。
?
轉載于:https://www.cnblogs.com/lmjob/archive/2009/04/13/1434448.html
總結
以上是生活随笔為你收集整理的SilverLight简介和优点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 秦磊:被分众CEO“忽悠”往事
- 下一篇: “识谎”36计