微軟的Silverlight 10個主要特點

一個跨平台跨操作系統的外掛,使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了。
本文章來自於神魂顛倒論壇 http://forum.flash2u.com.tw