什么是WPF,經(jīng)常看博客堂以及博客園的朋友,我相信眼睛都快磨出繭子來(lái)了。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)一的用來(lái)管理用戶界面、文檔及多媒體等的模型。再仔細(xì)說(shuō)說(shuō),更有生產(chǎn)力就是指開(kāi)發(fā)豐富實(shí)用外觀不費(fèi)勁,易于快速開(kāi)發(fā),而更統(tǒng)一則是指開(kāi)發(fā)B/S以及C/S可 講到WPF,就要提到XAML,XAML是WPF的聲明性語(yǔ)言,提供對(duì)界面、文檔以及多媒體等界面層邏輯的渲染。而且XAML可以直接在IE中打開(kāi)(如右圖)。同時(shí),還有一種XBAP方式(如左圖),也可以在IE中打開(kāi)。兩者會(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,目前正在緊鑼密鼓的開(kāi)發(fā)當(dāng)中,一些細(xì)節(jié)尚未披露,目前可以知道的是它是使用Javascript來(lái)實(shí) 現(xiàn),用來(lái)使其可以跨平臺(tái)、跨瀏覽器、跨設(shè)備來(lái)使用。它也同樣采用有些異構(gòu)化的XAML來(lái)編寫(主要添加了一些特殊的Javascript標(biāo)記)。 對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),喜歡究根問(wèn)底。這些方式,.EXE, .XAML,.XBAP還有WPF/E到底有何異同?在各種場(chǎng)合下面應(yīng)該如何使用呢?我相信很多人會(huì)非常好奇。雖然看了很多DEMO,相信也有一些朋友在一些細(xì)節(jié)上還是有很多模糊。在青島的時(shí)候,我做了下面這個(gè)表(當(dāng)時(shí)展波兄也通過(guò)越洋電話提供免費(fèi)支持),希望對(duì)大家有幫助。
希望對(duì)大家理解這些概念有所幫助。 補(bǔ)記:關(guān)于.NET 3.0的命名,我個(gè)人總覺(jué)得是一個(gè)敗筆,因?yàn)?NET 3.0必須依賴于.NET 2.0的存在,沒(méi)有.NET 2.0,則無(wú)法使用.NET 3.0,所以可以說(shuō).NET 3.0=.NET 2.0+WPF+WCF+WWF+WCS+...。同時(shí)原計(jì)劃中的3.0有可能會(huì)被命名為3.5,而3.5倒不必依賴于3.0了,不然就沒(méi)完沒(méi)了了。據(jù)說(shuō)當(dāng)初之所以改名字是怕別人混淆,怎么剛推完.NET,又開(kāi)始推WinFX了?歸納到同一品牌下我沒(méi)有異議,但突然直接升級(jí)為3.0,倒使得此事有些讓人混淆了,甚至有些同事至今都分不清WinFX與.NET 3.0的區(qū)別。 |
|