silverlight 入門----《一》

 

1 silverlight概述

1.1 什麼是Silverlight

究竟什麼是Silverlight?對不同的角色,Silverlight的定義或許會不一樣。對於互聯網用戶來說,Silverlight是一個安裝簡單的外掛程式程式。使用者只要安裝了這個外掛程式程式,就可以在Windows和Macintosh上多種流覽器中運行相應版本的Silverlight應用程式,享受視頻分享、線上遊戲、廣告動畫、交互豐富的網路服務等等。

對於開發設計人員而言,Silverlight是一種融合了微軟的多種技術的Web呈現技術。它提供了一套開發框架,並通過使用基於向量的圖像圖層技術,支援任何尺寸圖像的無縫整合,對基於ASP.NET、AJAX在內的Web開發環境實現了無縫連接。Silverlight使開發設計人員能夠更好的協作,有效地創造出能在Windows和Macintosh上多種流覽器中運行的內容豐富、介面絢麗的Web應用程式——Silverlight應用程式。

簡而言之,Silverlight是一個跨流覽器、跨平臺的外掛程式,為網路帶來下一代基於.NET媒體體驗,和豐富的互動式應用程式。對運行在Macintosh和Windows上主流流覽器,Silverlight提供了統一而豐富的用戶體驗。通過Silverlight這個小小的流覽器外掛程式,視頻、交互性內容,以及其他應用能完好的融合在一起。

Silverlight 是一種新的 Web 呈現技術,能在各種平臺上運行。借助該技術,您將擁有內容豐富、視覺效果絢麗的互動式體驗,而且,無論是在流覽器內、在多個設備上還是在桌面作業系統(如 Apple Macintosh)中,您都可以獲得這種體驗。Microsoft .NET Framework 3.0(Windows 程式設計基礎結構)中的呈現技術 XAML(可擴展應用程式標記語言)遵循 WPF (Windows Presentation Foundation),它是 Silverlight 呈現功能的基礎。

1.2 Silverlight對視頻媒體的支援

Silverlight為用戶提供了低成本、高品質的流媒體解決方案。它採用榮獲Emmy獎的Windows Media技術,使同等品質的視頻傳輸流量下降了約46%,並與現有的Windows Media流量配置方案相容。如果採用下一代Windows Server (Longhorn)系統中的IIS媒體包,流量還可能會進一步下降。

Silverlight的安裝包本身已經包含了Windows Media的解碼技術。因此,在用戶端的作業系統中,不需要安裝任何Windows Media Player等軟體,就可以播放 WMV,VC-1,WMA和MP3等多種從高清品質到移動設備的視頻以及音訊。Silverlight還提供了新的基於視頻和動畫的廣告策略方案,可以在視頻上增加視頻、動畫或其他交互性內容,使視頻動畫同步播放而不影響視頻品質。

1.3 SilverlightWeb服務

作為一個用戶端的外掛程式,Silverlight對於服務端沒有任何要求。無論是Windows+IIS+SQL Server+ASP.NET的WISA架構,或是Linux+Apache+MySql+PHP的LAMP架構,或者其他CGI架構,都可以使用Silverlight,而不用作特別配置。Silverlight還可以和現有的網站設計融洽共處。Silverlight支援LINQ和LINQ to XML等技術,以及JSON,RSS,POX,REST等常見協議,從而可以方便的獲得資料,實現服務與資料的混合。Silverlight的頁面描述採用了基於文本的XAML檔案格式,可以實現搜尋引擎優化,使富互動式應用程式的內容能被索引並搜索到。而通過Windows Live提供的Silverlight Streaming,可以快速發佈並整合式軟體服務和富媒體的內容。

1.4 Silverlight的開發與設計

Silverlight基於.NET框架提供了靈活的程式設計模型。Silverlight 1.1包含了WPF(Windows Presentation Foundation)的一個子集,利用Microsoft .NET Framework 3.0中的呈現技術 XAML使Silverlight和基於Windows應用程式的表現層保持一致。從版本1.1開始,Silverlight的開發支援JavaScript, .NET託管語言和動態語言等多種程式設計語言。

Silverlight還提供了一系列工具。通過Microsoft Expression Studio,設計人員可以創建出互動式的使用者介面和富媒體體驗,為視頻媒體進行編碼和發佈,並創建出符合W3C標準的網路網站。而對於開發人員,Microsoft Visual Studio 2008提供了豐富程式設計語言支援,強大的跨平臺調試功能。並通過Microsoft Intellisense協助開發人員進行用戶端和服務端的快速編碼開發。因此,無論是開發人員和設計人員,都可以運用已有的技巧和工具,將Silverlight集成到現有的網路應用中。

1.5 Silverlight的實際應用

雖然Silverlight目前還處於測試版本階段,它已和國內外多家公司建立了合作關係。比如美國最大的網球聯盟MLB已採用Silverlight播放其網站上的部分視頻。為20th Centry Fox、Sony Pictures Television等著名國際公司提供網路電視服務的Maven Networks也將把Silverlight帶入自己的網路電視平臺。作為2008年奧運會官方互聯網贊助商的搜狐公司也與微軟合作,打算使用Silverlight來完成互聯網上的奧運火炬傳遞項目。相信不久,隨著Silverlight 1.0的正式發佈,互聯網用戶將會有更多的機會體驗到Silverlight所帶來的精彩的媒體體驗和豐富的交互性內容。

1.6 Silverlight的相關支援

1.版本:Silverlight目前推出了1.0 RC和1.1 Alpha兩個版本。Silverlight 1.0版本重點重點在於豐富的介面及視頻體驗,支援JavaScript的程式設計開發;而Silverlight 1.1除了包含Silverlight 1.0的特性之外,還支持對.NET託管語言以及動態語言進行Silverlight應用程式開發的。

2.作業系統:Silverlight目前所支援的作業系統包括:Windows Vista,Windows XP,Windows Server 2003,Mac OS X 10.4,以及Mac OS X Leopard;Silverlight 1.1即將支援Windows 2000作業系統。

3.流覽器:Silverlight目前支持的流覽器包括IE 6,IE 7,Firefox 2.0,Firefox 1.5,Safari 2.0。Silverlight 1.1即將支持Opera流覽器。

4. 程式設計語言:Silverlight 1.0支持JavaScript,而Silverlight 1.1目前支持Visual C#, Visual Basic, Jscript和IronPython,很快將支援Ruby以及VBx的程式設計開發。

下圖給開發人員提供了更完整的參考:

2. silverlight 優點

微軟高調推出號稱“Flash殺手”的Silverlight之後,雖然得到了普遍的關注,但是僅有的幾個演示內容似乎仍不能讓大家弄明白這到底是有什麼獨到之處,如果僅僅是替代Flash的已有功能的話,肯定不值得微軟如此隆重的登場推介。*v'N$j}:t C


v

簡單的說,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。

[img]http://news.mydrivers.com/img/20070821/06042429.jpg[/img]

1 Silverlight是跨平臺/流覽器

對於大部分開發團隊,創建一個能夠在所有流行的流覽器(包括IE、Firefox、Safari、Opera)上完美運行的Web網站是很具挑戰性的事情。這不只是增加代碼實現的問題,還要進行大量複雜的測試。

通常面對這個問題的解決方法有兩個:僅支援少數最流行的流覽器或者增加品質保證人員的數量。2M0c!H,}1y

而Silverlight允許“一次開發,到處運行”,微軟已經承諾會支援Windows和Mac上的Opera,而Silverlight的Linux版Moonlight也正在開發中。

2Silverlight 1.1

B                              對於目前的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編譯器。

3Silverlight 使用開發者們已經掌握的技術^%@-[jb
Ye

Silverlight由微軟現有的一些技術創建而成,如XAML,JavaScript以及.NET技術。如果你已經很熟悉微軟.NET和Web開發技術,這些都可以應用在Silverlight的開發中。你選擇開始新項目的Silverlight版本主要基於開發團隊的技術方向。如果你的開發團隊主要做ASP.NET伺服器端開發(主要是C#和VB.NET),你就需要等待1.1的正式發佈,如果你的團隊專攻像JavaScript這類的用戶端開發,Silverlight就正適合你。

4Silverlight的使用者介面使用標記語言就像HTML

Silverlight使用XAML來進行使用者介面設計。你可能已經很熟悉另一種標記語言了:HTML。HTML檔是純文字的,它只需要告訴流覽器如何渲染網頁,XAML也是這樣的,只不過,執行文本命令的不再是流覽器,而是Silverlight。Ga無論開發者在伺服器端用什麼工具進行怎樣的開發,最後你總要創建動態的HTML頁面。XAML是標記語言,因此你可以使用伺服器端技術動態創建XAML,就像你的開發團隊動態創建HTML一樣。標記語言有所不同,但技術並未變化。

5SilverlightAJAX技術互為補充

    網路是不斷進化的。回到1990年代,所有人都告訴開發者應該把盡可能多的執行都放在伺服器端,技術上沒問題,但是這相當影響用戶體驗。現在AJAX已經廣泛流行開來,把代碼直接放置在流覽器中就可以有效改善用戶體驗,這方面最典型的代表就是Google Maps。Silverlight也參照了這樣的模型,允許在流覽器中創造更加豐富的使用者介面,而採用AJAX和伺服器端交換資料使Silverlight更加強大,結合了Silverlight豐富的使用者介面和AJAX的非同步資料傳輸,使用者將得到非常舒適的交互體驗。

6Silverlight允許開發者和設計者協同工作

網路要求開發者們必須越來越多地考慮設計和美觀問題,對用戶的快速回應和直觀的介面已經成為開發標準,這需要在開發中同時加入美術設計和用戶體驗規劃。

然而,美術師和程式師使用完全不同的資源和工具。通常情況是,美術師把圖片檔或者HTML框架發給開發者以整合應用程式碼,當設計做出更改,整合就沒完沒了地進行。f
S8G9

Silverlight能提供更好的開發模式。微軟提供給Silverlight的工具包是一系列複雜工具的集合,例如Visual Studio,還有連接設計者的工具,成為Expression Studio。

對於Silverlight,主要的設計工具是Expression Blend,它可以按設計者們所熟知的方式創建XAML內容,使用起來和Adobe Illustrator或者Photoshop差不多。但不同之處在於Blend和開發者使用同樣的工程項目檔,XAML和JavaScript檔,就像在Visual Studio中那樣。當設計完成並修整好,不需要進行中間的整合過程,設計者就可以看到開發人員直接將其作為專案素材加入開發專案。這樣做有助於設計者和開發人員更加緊密地協同工作。

7Silverlight將分包發佈

Silverlight會分成多個資料包發送給流覽器,也就是說代碼會分成一個或多個包(JavaScript檔,編譯檔等等),設計也分成一個或多個包(XAML),以及其他檔(包括圖片、字體、視頻)。Flash的單檔分發模式的開發者會不大理解為什麼這樣做。實際上,這是有好處的。分離的包比現在的Flash完整打包更有助於在伺服器端動態地創建內容,並按照標記語言自由組合。ilverlight也提供功能可以使用zip檔把所有XAML代碼使用的內容打包給使用者下載。

8Silverlight是嶄新的

在寫就本文的時候,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正合適。

9Silverlight XAML對照WPF XAML

要把XAML吹捧成為微軟WPF的特長之處並不難,但是它實際上並沒有看起來那麼優秀,這一方面是由於WPF較低的採用率,另一方面就是WPF XAML和Silverlight XAML的區別了。#"#`} o ?


s0vY首先,WPF的採用率相對於其他用戶端技術而言(例如Visual Basic 6和.NET的Windows Forms)比較低,因此XAML也基本上被荒廢了。第二,Silverlight XAML的語法比WPF XAML要簡單一些,當然也會比WPF XAML弱一點,這既是好事也是壞事。Silverlight非常容易上手,但是從WPF轉移而來的開發者可能會覺得有點不夠用。按我的感覺,較簡潔的語法對於Silverlight實際上是最合適的,因為運行環境對於用戶而言越精簡越好。Silverlight並不需要把所有東西都囊括進來,對於一個羽量級用戶端而言沒有這個必要。當然,要能給Silverlight增加更多的功能肯定不錯,但是目前不能僅僅考慮這些,我們需要謹慎考量加入多少,同時還能保持介面的簡潔和高效。

10Silverlight非常適合學習XAML

就象前一節所說的,Silverlight有著羽量級的XAML語法,這意味著它對於學習XAML的工作方式非常有益,引導那些正在學習XAML的開發者創建簡明清晰的代碼,幫助他們快速理解Silverlight的功能特性,當他們開始投向WPF的XAML的時候,就會發現更多的功能和特性已經準備就緒了。

相反的,如果開發者從WPF開始應用XAML,隨後換到Silverlight的話就不得不扔掉許多特性。Silverlight的運行時庫目前只有大約4.5MB,.NET 3.0運行時庫(第一個支持WPF的)則接近30MB。%_L


B-Q


Bt+[Silverlight是一個對公司、消費者、用戶都大有裨益的新技術,看了上面這些,現在你可以決定該如何在你的Web戰略中應用Silverlight了。

1.2 Silverlight 架構圖

1.3可套用Silverlight技術的網頁程式類型

TML

ASP.NET

ASP

JSP

PHP

Any

1.4 Silverlight Client端執行環境

Silverlight Runtime Component (小於2MB

Windows平臺上支援的瀏覽器種類

Internet Explorer 6 and 7 and Firefox 1.5 and 2.0 on Windows XP sp2

Internet Explorer 7 and Firefox 1.5 and 2.0 on Windows Vista

Macintosh平臺上支援的瀏覽器種類

Firefox 1.5.0.8 and Safari 2.0 on MAC OSX 10.4.8

Linux平臺

Moonlight

1.5開發設計環境

開發silverlight應用程式需要安裝軟體及其安裝順序如下

1、安裝 VS2008 Beta 2

2、安裝 VS_SilverlightTools_Alpha_Setup Beta 2.exe

3、安裝 Blend2 august preview.en.msi

4、安裝 Silverlight.1.1.AlphaRefresh

安裝好以上軟體後,打開VS 2008 新建專案會看到 silverlight,如下圖:

這樣就可以建立silverlight專案。建立silverlight專案有兩種類型,silverlight Projectsilverlight Class Library

posted on 2007-09-28 09:27  brake  阅读(750)  评论(0编辑  收藏  举报

我的最愛 聯繫我們 無障礙