嗯,開篇就是一個,很容易就,離題萬里拐成巨型車禍現場的選題。
首先,什么是WPF?
縮略一段官方說明
WPF是.NET Framework的一個子集,開發者可用.Net Framework編程語言,如C#或Visual Basic,創建Windows桌面客戶端應用程序
那,什么又是.Net Framework?
.NET Framework是由微軟開發的主要在Windows上運行的軟件框架
自2006年起,初代WPF(WPF 3.0)納入DotNet全家桶(大霧)進入.Net大家庭以來,WPF的版本追隨著母體.NET Framework的版本不斷迭代,WPF的兼容性也與.NET Framework的兼容性密不可分。
WPF到底可以在哪些平臺愉快的玩耍呢?
.Net Core?跨平臺?
官方的說法是
emmmmm,WPF是基于Windows技術構建的,.Net Core不支持
下一個
Windows全平臺?
先看兩張圖
從WPF層面說,WPF最重要的元屬性DataBinding是從3.5版本才開始有的;而無論從穩定性還是API的豐富性上來說,.Net 4.0+是更優選擇
從.Net FrameWork層面來說,XP系統原生不自帶可供WPF運行的.Net版本。雖然經過微軟的不斷迭代(聽說最高XP SP3可安裝.Net 4.0版本,尚未找到官方明細佐證),獨立安裝.Net FrameWork,也可以運行 WPF程序。但由于底層組件的缺失(比如從VISTA才開始引進的Windows Aero效果),無論從UI體驗還是運行效率,與Win7+系統上的運行體驗相差甚遠。
綜上,如果想獲得一個較佳的用戶體驗,發揮WPF基本的優勢,請選擇Win7及以上+.Net 4.0及以上的組合套裝——假如你面對的是一個同意重裝系統的用戶
更多槽點?
回到標題,WPF客戶端開發可遠遠不是只用WPF就能解決的,如果我們需要開發報表,我們可能需要用到Office組件;如果我們要開發客戶端內嵌網頁,我們可能需要和IE的兼容性打交道。
如果有誰能把微軟全系產品的歷史出一本書,不知道5000頁夠不夠發揮?