[ metamuse ]

2007年11月20日 星期二

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

沒有留言: