[賴榮樞]的軟體資訊誌: 乍看Silverlight 2.0


[賴榮樞]的軟體資訊誌: 乍看Silverlight 2.0

來源:http://www.goodman-lai.idv.tw/2008/08/silverlight-20.html

Matt DaveyLab49的技術主管,這是一家建置金融服務程式的公司。Davey在DDJ寫了一篇評論Silverlight的文章《One Perspective on Silverlight》。

總括來說,Davey認為Silverlight 2.0已對金融機構提供了足夠的吸引力,能以瀏覽器傳遞如同桌面程式功能完整的Web程式。

預計2008年十月推出RTM版本的Silverlight 2.0,與Silverlight 1.0的差異頗大(Silverlight 2.0原本稱為Silverlight 1.1)。Silverlight 2.0才包含.NET執行環境(.NET Framework 3.0 CLR),因此開發者能以VB.NET或C#編寫Silverlight 2.0程式。

Davey認為Silverlight 1.0主要的作用猶如媒體播放器,對金融交易的商業應用並無吸引力,採納者寡;但Silverlight 2.0就提供了許多令人注目的開發優點,包括:



  • 動態語言執行環境(Dynamic Language Runtime,DLR)

  • WPF為基礎且豐富的使用者介面控制項模型

  • 豐富的基底類別程式庫(包含collections、IO、generics、threading、globalization、XML、local storage等等)

  • 支援LINQ

  • 改進網路堆疊的支援(包含REST、WS*/SOAP、POX、RSS、標準HTTP等等)

  • Visual Studio 2008支援

Davey在文中表示,Sliverlight 2.0的UI Framework是相容於WPF UI Framework的子集,發展WPF程式的能力、控制項、程式碼等皆可用於Silverlight。


而Silverlight除了終於能讓微軟提供相當於桌面程式的Web程式,也能讓企業脫離以Windows Forms開發桌面程式、以ASP.NET開發Web程式的雙軌並存開發方式。這種一魚兩吃的作法也可降低開發、維護、支援的成本。


Silverlight 2.0的程式不需要開發者或管理者部署,需要部署的是Silverlight 2.0的瀏覽器外掛程式,而如果Silverlight成為企業瀏覽器的標準外掛程式,甚至就連部署瀏覽器外掛程式的工作也可省下。Silverlight能跨瀏覽器、跨平台,就Windows平台而言,可以預期的是Internet Explorer 8.0將會只內建Silverlight 2.0執行環境(只要Silverlight的推出時程不會延後),而IE 6/7也會有Silverlight 2.0外掛可用。


如果是Firefox/SeaMonkey/Mozilla、Safari等其他瀏覽器的Windows版本及Mac版本,也會有Silverlight外掛可用(但Mac PowerPC可能只支援到Silverlight 1.0)。若是Linux平台,Firefox/SeaMonkey/Mozilla、Konqueror、Opera等瀏覽器也能以Moonlight獲得Silverlight的執行環境(不妨就將Moonlight視為Linux平台的Silverlight)。再者,行動裝置系統如Windows Mobile 6和Symbian Series 60也將支援Silverlight。


從Web問世並廣受歡迎之後,各種軟體相關的廠商都想利用Web:或者當作執行平台、或者成為傳遞通路;而各種解決方案也有意無意的出現:CGI、NSAPI、ISAPI、ASP、JSP、Flex、DHTML、DOM、JavaScript、Java applet、ActiveX控制項、Flash、AJAX、JavaFX、Silverlight…等。除了考量Web的重要性,微軟也希望桌面程式和Web程式(或以thick client和thin client稱之)能有類似、甚至相同的開發方式。Silverlight 2.0相當於.NET Framework 3.0輕量版的作法,讓企業能重複使用相同的投資,並且以降低開發人員的負擔(並進而縮短軟體開發時間)。


Davey在文中表示,Silverlight應該是微軟近幾年最讓人感興趣的Web技術,而且預期將能相當程度的驅使金融應用的成長。但Davey也認為,微軟必須掌握Silverlight的推出時機;能不能及時釋放Silverlight真正的潛力,也是微軟面對Adobe及Google競賽的關鍵。