2007年11月26日

Silverlight - Microsoft RIA的技術解決方案

剛剛收到朋友轉寄給我的一封介紹有關Silverlight的文章,覺得相當不錯!
所以就將它轉載過來給各位瞧瞧這不錯的新技術!

Silverlight搶先預覽(1)微軟的RIA技術銀光乍現

/iThome (記者) 2007-05-10

所謂的RIA是以向量為基礎、具備動畫能力,可以展現優越影音多媒體能力的應用。相關技術不是以AdobeFlash為基底,就是以微軟Silverlight為基底。

 

微軟2007416日透過全國廣播協會(NAB)宣布WPF/E正式命名為「Silverlight」。

新一代的Web展示層技術
而什麼是Silverlight呢?Silverlight是微軟針對下一代Web展現層所推出的新技術,具備極為優越的向量動畫、2D繪圖與影音播放能力,目的是為了提升使用者經驗,以達到更好的視覺化效果與RIAsRich Interactive applications)互動性。

眼尖的讀者看到「RIA」這個字眼,一定懷疑這個「RIA」和Adobe所提出的「RIA」好像一樣?沒錯,字面上完全一樣,但微軟Silverlight所強調的RIAs,原文是Rich Interactive Applications,而AdobeRIAs是指Rich Internet Applications

雖然字義上略有不同,其實骨子裡換湯不換藥,兩者均是以向量為基底的技術。總之現在大家都認同RIAs所代表的意義,只不過檯面上,微軟還是要變化一下英文用字,免得被人批評為抄襲、助人聲威,同時也可以走出獨樹一格的RIAs之路。

比起Web 2.0RIA踏實多了
要如何看待RIA這個技術名詞呢?筆者的觀點認為,就網頁設計而言,RIA的意義再明確不過,比起玄之又玄的Web 2.0來得踏實多了。

此話怎講,如果你和別人談起說:「我們公司的網站是用RIA技術打造的。」相信一般的IT技術人員不會多問,因為大家心中都有個底,所謂的RIA是以向量為基礎、具備動畫能力,可以展現優越影音多媒體能力的應用。相關技術不是以AdobeFlash為基底,就是以微軟Silverlight為基底。


Silverlight是以向量為基礎的技術,具備多媒體設計能力,並可與既有的Web應用程式相互整合。


反之,如果你的說法是:「我們公司的網站是用Web 2.0技術打造的。」那便會引起無窮無盡的問號,相關的疑問包括:是有Blog?還是有Wiki?還是有電子相簿等。答案是運用Ajax技術建構Web 2.0的應用程式,當然心中泛起一陣圈圈叉叉,什麼跟什麼嘛!

Web
HTML的框架下,應用受到侷限
RIA
會是微軟下一代Web技術的主流嗎?筆者的答案是肯定的!因為Web成也HTML,敗也HTML,我們必須感謝HTMLWeb帶來的貢獻,沒有HTML的推波助瀾,Web不可能這麼繁榮壯盛。

追溯HTML的歷史,一個超過十年以上的技術不算老舊嗎?即便HTML一直有新的版本演進,但是由於本質上的改進不算大,因此仍受限於既定的格局與形式,隨處可見拼拼湊湊的技術堆疊,一堆惱人又不完美的技術大雜燴拼在一起,還不保證最後端上來的Web菜色是色香味俱全的!

Ajax
就是為了突破Web技術的一個反思,因為使用者總是抱怨Web畫面比起Windows程式,反應速度太慢。

快速建構高互動網頁的技術-SilverlightFlash
當企業下定決心要開發一個Web應用系統,程式設計師要應付的東西很多,修練也異常辛苦。不但必須熟悉HTMLDOMJavaScriptCSSAjax等技術前菜,還得好好修練實際的ASP.NETJSPPHP本尊才行。

我們要問的是,即便以上技術都不成問題,程式設計師就足以開發出心中完美而理想的RIA技術典範嗎?答案依舊是不樂觀的,因為要純粹使用HTML+Ajax建造足以與RIA技術抗衡的應用程式仍是困難的。不是辦不到,而是無法輕易辦到,開發者必須投注數倍的開發時間、難度與人力才有機會達成!

在很短時間內建構一個畫面很炫、使用者經驗滿意度超高的RIA Web應用程式,坦白講,HTML+Ajax並不是最佳途徑。選擇天生即為RIA而創造的技術-SilverlightFlash,才是上上之策。

Silverlight
領軍,微軟搶灘RIA市場
在微軟的Web開發技術中,也該是Silverlight執掌兵符的時候了!因為Silverlight擁有HTML所沒有的特殊元素,它是以向量為基礎的技術,可以突破長久以來HTML技術框架的限制,真正展現出RIA的精神。

讓我們認識一下Silverlight架構的幾個設計理念:

1.
輕量級的瀏覽器plug-inSilverlight的安裝元件(Runtime Component)只有1.1MB大小,輕薄短小的特性,特別適合應用在網際網路的安裝部署。這也是將Silverlight推向成功的必要前提。

2.
原生的展現層RuntimeSilverlight傳遞資訊的格式(Render)是以XAMLeXtensible Application Markup Language)為基礎,能夠產生向量的文字、2D繪圖與影音播放之能力,並可與使用者進行互動,如此便能夠超越既有HTML框架的限制。

3.
具備影音播放與互動能力:Silverlight在設計之初,即被賦予一項任務,就是提供程式設計師簡單而強大的多媒體設計能力。透過Silverlight只需一行XAML程式,就可以搞定720p HDWMVWMAMP3等格式的多媒體檔案。

4.
程式開發層與既有技術的整合:Silverlight在設計之初,並不打算成為自創一格的孤島,不以黑箱作業為目的,故Silverlight本身公布了自身Silverlight Object Model(可稱之為WPF DOM),透過JavaScript即可存取Silverlight物件,並且可與既有的HTMLDOMCSSAjax等技術相互整合與互動,成為一座往來便利的豐富島嶼(Rich island),讓各種技術可以互相搭配運用。因此,Silverlight可以與現有Web應用程式快速且良好地整合。

保留既有架構,簡單換取出色效果
在資訊領域中,企業導入新系統時,最令人頭痛的有兩大問題,一是新舊系統整合必定會歷經一段很長的陣痛期,但若企業熬不過陣痛期,相信必然會遭致失敗的命運。第二點,新技術常與舊技術不相容,這方面的困擾通常不是錢可以簡單解決的,因此企業面對新興技術往往猶豫再三。

那麼,Silverlight技術開發的Web應用程式,如何與企業既有Web系統整合呢?企業可以在完全不更動ASP.NETJSPPHPCSSJavaScriptAjax的情況下,增加Silverlight的向量繪圖與影音動畫技術到既有網頁中。也就是說,企業不需要捨棄既有的架構,就可以換取出色的RIA效果,並且透過既有技術JavaScriptDOMSilverlight互動。

不過,並不是單單有向量的展現效果,即可稱之為RIARIA有其特定方法論與目的,向量的展現層技術只是一種手段,目的是在增進企業效益與改善使用者經驗,有一些指標與量測基準可做為企業導入RIA系統的參考,下期筆者將介紹導入Silverlight RIA架構的方法論及注意事項。

《作者簡介》奚江華
聖殿祭司是奚江華在網路上的名字,熱愛微軟 .NET 技術而創建了一個名為「DotNet開發聖殿」的部落格,以發布.NET相關最新資訊為職志,他同時也是.NET書籍作家、微軟專屬講師、微軟MVP

 

沒有留言:

張貼留言