奚江華
NET書籍作家、微軟專屬講師及顧問,熱愛微軟.NET 技術,創立「DotNet開發聖殿」部落格,以發布.NET相關資訊為宗旨,聖殿祭司則是他在網路上的代號。


微軟才推出.NET 3.0不久,相關工具尚未到位,WPF(Windows Presentation Foundation)還是個新鮮而陌生的技術名詞,沒想到這一會兒又冒出了一個WPF/E(Windows Presentation Foundation/Everywhere)。到底WPF和WPF/E有什麼差別?和Flash又是什麼關係呢?微軟最有價值專家兼.NET暢銷書作者奚江華,給了我們第一手的資訊。

問:WPF/E和WPF是什麼關係?
答:WPF/E是WPF的子集,嵌入在瀏覽器中提供2D繪圖、向量動畫與影音的效果。

問:WPF/E是否可不依附在HTML或瀏覽器中,獨立在桌面環境執行?
答:桌面應用由WPF這個巨人撐著,並不需要WPF/E從瀏覽器跳出,要是拿WPF/E來應付桌面應用,那麼WPF/E站在WPF這個巨人面前,只會顯得像侏儒般瘦小,不但突兀,而且也不符合邏輯。

WPF/E的Runtime Component下載檔也只有1.1MB,相對於.NET Framework 3.0安裝檔約50MB以上,顯得精簡許多,但這並不表示WPF/E的功能很陽春,反倒有許多功能是超越HTML能力,所以雖然WPF/E本身具有獨當一面的潛力,但微軟目前沒有讓WPF/E獨立的計畫,反倒希望WPF/E能夠與現有的網頁技術互相整合,在Web上扮演好應有的角色。

問:既然WPF/E是嵌入在網頁之中,不就是和Flash的定位相同?開發者該如何選擇?
答:雖然WPF/E與Flash在功能與行為模式上非常神似,WPF/E也確實常被業界號稱為「Flash Killer」,但撇開功能與行銷上的勝負爭執,其實兩者本質上有很大的差異。

簡單來講,未來廣大的.NET程式設計師會想擁抱的是WPF/E,因為WPF/E不是孤島,WPF/E可以和ASP.NET AJAX、C#、VB、XAML、WF、WCF與WPF等.NET平臺的技術結合,成為好開發又好維護的統合技術,而非東拼西湊的解決方案,在開發、維護與擴展方面具有很大的優勢。

問:通常以向量技術所設計的網站,不能直接被搜尋引擎解析,WPF/E有這樣的問題嗎?如果希望提高網站的能見度,是不是就應該選擇ASP.NET AJAX?
答:Flash這方面的問題,據專家表示可以在MetaData中嵌入文字,以便讓搜尋引擎解析,不過若是動態的產生資料,則無法自動更新MetaData中的資料。

而WPF/E本身是以DOM型式公開它的元素樹(Element Tree),所以透過最原始、最單純的JavaScript,就能夠讀取WPF/E內容。搜尋引擎可以輕易對WPF/E所設計的網站進行爬文檢索,完全不需要使用任何的特殊橋接器或演算法。

問:WPF/E是與IE捆綁,還是可以跨瀏覽器?
答:目前所發行的WPF/E CTP版本安裝套件,只支援Windows及Mac兩種作業系統上的瀏覽器,實際支援規格如下:

● Windows XP SP2:IE 6、IE7/Firefox 1.5、Firefox2.0。
● Windows Vista:IE7/Firefox 1.5、Firefox2.0。
● Mac OSX 10.4.8:Firefox 1.5.0.8/Safari 2.0。

問:那麼,未來WPF/E會發行Linux平臺的 Runtime Component嗎?
答:就我的觀察,微軟對Linux平臺的一貫政策與作法,似乎是不會主動支援。所以這也是為什麼有Mac版的WPF/E安裝檔,卻沒有Linux版本的緣故。就種種利害關係的考量,未來不會有Linux版本的WPF/E安裝檔的機率似乎較大。

問:ASP.NET AJAX與WPF/E,是二擇一的方案?還是未來其中一個會被對方取代?
答:基本上ASP.NET AJAX與WPF/E兩者並不是相互替代,而是彼此互補的技術,兩者各有其強項,所以微軟的策略是整合兩者的能力。ASP.NET AJAX與WPF/E結合,會比目前Web只融入單純的Ajax技術更具吸引力。整理⊙李延華

熱門新聞

Advertisement