什么是WPF,經(jīng)??床┛吞靡约?a target="_blank">博客園的朋友,我相信眼睛都快磨出繭子來了。WPF嘛,就是現(xiàn)在稱之為Windows Presentation Foundation,小名叫Avalon的那個(gè)東東,為了更好的實(shí)現(xiàn)Windows Vista體驗(yàn)的基礎(chǔ)層架構(gòu),是.NET 3.0的一部分。如果一句話以蔽之,就是一個(gè)更有生產(chǎn)力的、更統(tǒng)一的用來管理用戶界面、文檔及多媒體等的模型。再仔細(xì)說說,更有生產(chǎn)力就是指開發(fā)豐富實(shí)用外觀不費(fèi)勁,易于快速開發(fā),而更統(tǒng)一則是指開發(fā)B/S以及C/S可
講到WPF,就要提到XAML,XAML是WPF的聲明性語言,提供對(duì)界面、文檔以及多媒體等界面層邏輯的渲染。而且XAML可以直接在IE中打開(如右圖)。同時(shí),還有一種XBAP方式(如左圖),也可以在IE中打開。兩者會(huì)有一些異同,這在下面會(huì)做表述。
那么WPF/E呢,可能知道者就比較少了。這里面的E是指的Everywhere,也就是可以讓W(xué)PF到處可以運(yùn)行。我們知道,WPF本身是WinFX也就是現(xiàn)在的.NET 3.0的一部分,所以想要運(yùn)行WPF,客戶端必須安裝.NET 3.0,而.NET 3.0的安裝條件是Windows XP、Windows Vista、Windows Server 2003、Windows Longhorn Server之四大金鋼。那么你如果想讓W(xué)PF
而WPF/E,小名Jolt,目前正在緊鑼密鼓的開發(fā)當(dāng)中,一些細(xì)節(jié)尚未披露,目前可以知道的是它是使用Javascript來實(shí) 現(xiàn),用來使其可以跨平臺(tái)、跨瀏覽器、跨設(shè)備來使用。它也同樣采用有些異構(gòu)化的XAML來編寫(主要添加了一些特殊的Javascript標(biāo)記)。
對(duì)于開發(fā)人員來說,喜歡究根問底。這些方式,.EXE, .XAML,.XBAP還有WPF/E到底有何異同?在各種場(chǎng)合下面應(yīng)該如何使用呢?我相信很多人會(huì)非常好奇。雖然看了很多DEMO,相信也有一些朋友在一些細(xì)節(jié)上還是有很多模糊。在青島的時(shí)候,我做了下面這個(gè)表(當(dāng)時(shí)展波兄也通過越洋電話提供免費(fèi)支持),希望對(duì)大家有幫助。
.EXE | XAML | XBAP | WPF/E | |
IE宿主運(yùn)行 | No | Yes | Yes | Yes |
支持其它瀏覽器 | No | No | No | Yes |
支持其它操作系統(tǒng) | No | No | No | Yes |
跨設(shè)備 | No | No | No | Yes |
支持業(yè)務(wù)邏輯 | Yes | No | Yes | Yes |
需要.NET 3.0 | Yes | Yes | Yes | No |
希望對(duì)大家理解這些概念有所幫助。
補(bǔ)記:關(guān)于.NET 3.0的命名,我個(gè)人總覺得是一個(gè)敗筆,因?yàn)?NET 3.0必須依賴于.NET 2.0的存在,沒有.NET 2.0,則無法使用.NET 3.0,所以可以說.NET 3.0=.NET 2.0+WPF+WCF+WWF+WCS+...。同時(shí)原計(jì)劃中的3.0有可能會(huì)被命名為3.5,而3.5倒不必依賴于3.0了,不然就沒完沒了了。據(jù)說當(dāng)初之所以改名字是怕別人混淆,怎么剛推完.NET,又開始推WinFX了?歸納到同一品牌下我沒有異議,但突然直接升級(jí)為3.0,倒使得此事有些讓人混淆了,甚至有些同事至今都分不清WinFX與.NET 3.0的區(qū)別。
聯(lián)系客服