WPF縮寫為Windows Presentation Foundation的縮寫 ,其原來代號為“Avalon”,因“我佩服”拼音首字母組合一樣,國內(nèi)有人調(diào)侃地稱之為“我佩服”。WPF是微軟新一代圖形系統(tǒng),運行在.NET Framework 3.0架構(gòu)下,為用戶界面、2D/3D 圖形、文檔和媒體提供了統(tǒng)一的描述和操作方法;贒irectX 9/10技術(shù)的WPF不僅帶來了前所未有的3D界面,而且其圖形向量渲染引擎也大大改進(jìn)了傳統(tǒng)的2D界面,比如Vista中的半透明效果的窗體等都得益于WPF。 程序員在WPF的幫助下,要開發(fā)出媲美Mac程序的酷炫界面已不再是遙不可及的奢望。 WPF相對于Windows客戶端的開發(fā)來說,向前跨出了巨大的一步,它提供了超豐富的.NET UI 框架,集成了矢量圖形,豐富的流動文字支持flow text support,3D視覺效果和強大無比的控件模型框架。
Windows Presentation Foundation
Windows Presentation Foundation(以前的代號為“Avalon”)是 Microsoft 用于 Windows 的統(tǒng)一顯示子系統(tǒng),它通過 WinFX 公開。它由顯示引擎和托管代碼框架組成。Windows Presentation Foundation 統(tǒng)一了 Windows 創(chuàng)建、顯示和操作文檔、媒體和用戶界面 (UI) 的方式,使開發(fā)人員和設(shè)計人員可以創(chuàng)建更好的視覺效果、不同的用戶體驗。
Windows Presentation Foundation 發(fā)布后(計劃在 2006 年),Windows XP、Windows Server 2003 和以后所有的 Windows 操作系統(tǒng)版本都可以使用它。
Windows Presentation Foundation
Windows Presentation Foundation 由兩個主要部分組成:引擎和編程框架。
• Windows Presentation Foundation 引擎。Windows Presentation Foundation 引擎統(tǒng)一了開發(fā)人員和設(shè)計人員體驗文檔、媒體和 UI 的方式,為基于瀏覽器的體驗、基于窗體的應(yīng)用程序、圖形、視頻、音頻和文檔提供了一個單一的運行時庫。Windows Presentation Foundation 使得應(yīng)用程序不僅能夠充分利用現(xiàn)代計算機(jī)中現(xiàn)有的圖形硬件的全部功能,而且能夠利用硬件將來的進(jìn)步。例如,Windows Presentation Foundation 的基于矢量的呈現(xiàn)引擎使應(yīng)用程序可以靈活地利用高 DPI 監(jiān)視器,而無需開發(fā)人員或用戶進(jìn)行額外的工作。 同樣,當(dāng) Windows Presentation Foundation 檢測到支持硬件加速的視頻卡時,它將利用硬件加速功能。
• Windows Presentation Foundation 框架。Windows Presentation Foundation 框架為媒體、用戶界面設(shè)計和文檔提供的解決方案遠(yuǎn)遠(yuǎn)超過開發(fā)人員現(xiàn)在所擁有的。Windows Presentation Foundation 的設(shè)計考慮了可擴(kuò)展性,使開發(fā)人員可以完全在 Windows Presentation Foundation 引擎的基礎(chǔ)上創(chuàng)建自己的控件,也可以通過對現(xiàn)有 Windows Presentation Foundation 控件進(jìn)行再分類來創(chuàng)建自己的控件。Windows Presentation Foundation 框架的核心是用于形狀、文檔、圖像、視頻、動畫、三維以及用于放置控件和內(nèi)容的面板的一系列控件。這些“自有控件”為開發(fā)下一代用戶體驗提供了構(gòu)造塊。
Microsoft 在引入 Windows Presentation Foundation 的同時,還引入了 XAML,這是一種公開表示 Windows 應(yīng)用程序用戶界面的標(biāo)記語言,可使開發(fā)人員和設(shè)計人員用來構(gòu)建和重用 UI 的工具更加豐富。對于 Web 開發(fā)人員,XAML 提供了熟悉的 UI 說明模式。XAML 還使 UI 設(shè)計從基礎(chǔ)代碼中分離出來,從而使開發(fā)人員和設(shè)計人員之間的合作更加緊密。
為什么選擇 Windows Presentation Foundation?
對于企業(yè),Windows Presentation Foundation 實現(xiàn)了改進(jìn)的客戶關(guān)系和不同的應(yīng)用程序。通過提供能夠快速提供更好的視覺效果、獨特的用戶體驗的技術(shù),來建立與客戶的密切關(guān)系,使企業(yè)可以建立穩(wěn)定的數(shù)字客戶關(guān)系和獨特的品牌化機(jī)會。而且,由于 Windows Presentation Foundation 是窗體、文檔、視頻、三維以及其他功能的綜合,因此企業(yè)可以創(chuàng)建持久的用戶體驗解決方案,并集成到客戶的日;顒又。
對于開發(fā)人員和設(shè)計人員,Windows Presentation Foundation 提供了統(tǒng)一的 UI 平臺,因此他們只需學(xué)習(xí)一個模式,就可以獲得無限可能的 UI 體驗。對于 .NET 開發(fā)人員,其框架是熟悉的,并且它最終將減少提供最佳用戶體驗和通信邏輯所需的代碼行數(shù)。對于設(shè)計人員,Windows Presentation Foundation 提供的平臺可消除內(nèi)容、媒體和應(yīng)用程序之間的邊界。最重要的是,Windows Presentation Foundation 可以使開發(fā)人員和設(shè)計人員同步緊密地合作來快速提供不同的連通體驗。
目前開發(fā)界的對WPF響應(yīng)程度
目前已有很多人開始考慮或者已經(jīng)轉(zhuǎn)向WPF,一場新的學(xué)習(xí)熱潮已經(jīng)開始。但根據(jù)我最近的學(xué)習(xí)和了解,國內(nèi)關(guān)于WPF的資料很少,除了msdn提供的資料以外,基本都是來自國外的資料,有些則是國外開發(fā)人員blog上的資料,當(dāng)然都是英文的。因此如果現(xiàn)在能夠引進(jìn)一些WPF的書絕對是很好的時機(jī)。而且國外目前的幾本W(wǎng)PF書也是剛剛上市,如果我們可以盡快引進(jìn)的話,絕對可以幫助國內(nèi)開發(fā)人員在最短時間內(nèi)趕上國際步伐。
目前微軟針對WPF提供的服務(wù)和支持
隨著Vista RTM的發(fā)布,微軟新一輪的技術(shù)推廣已經(jīng)開始。其實在此之前,WPF已經(jīng)有很大的推廣,因為CTP版本已經(jīng)發(fā)布了有一段日子了。當(dāng)然很多開發(fā)人員主要以技術(shù)研究為主,也有少數(shù)公司已經(jīng)開始從事基于WPF的產(chǎn)品研發(fā)工作。
1. 目前WPF的正式版本已經(jīng)發(fā)布(隨.net framework 3.0正式版發(fā)布),你可以從msdn上免費下載
2. 相應(yīng)的技術(shù)支持已經(jīng)開始,但目前僅限于大客戶,主要做售前技術(shù)支持,對于普通開發(fā)人員的技術(shù)支持可能要等到明年2月份才會開始(個人知道的情況,請以微軟官方技術(shù)支持網(wǎng)站發(fā)布的信息為準(zhǔn))
3. WPF的VS2005插件目前還只有社區(qū)預(yù)覽版(CTP版),也是從msdn上免費下載的,但正式版恐怕還要等一段時間,但使用CTP版本確實已經(jīng)可以在VS2005中進(jìn)行所見即所得的WPF開發(fā)。
4. WPF/E CTP版本已經(jīng)發(fā)布,你可以在msdn上免費下載。同時發(fā)布的還有WPF/E Sample Pack for CTP。