偶然機會,項目開發需要做一個客戶端的工具,類似於360殺毒這種,經過多種論證和驗證,決定使用wpf+c#這套方案。這里就不得不談一下這套方案的優點和適用范圍。
先來一段標准的介紹:WPF(Windows Presentation Foundation)是微軟推出的基於Windows 的用戶界面框架,屬於.NET Framework 3.0的一部分。它提供了統一的編程模型、語言和框架,真正做到了分離界面設計人員與開發人員的工作;同時它提供了全新的多媒體交互用戶圖形界面。
看到這里,作為一個長期從事web開發的人,會及時聯想到html,css,javascript..這些在web開發中不也是使界面設計和開發人員分離開來嗎?當然,界面設計有時候也是歸於"開發人員"一類的。原來不止我一個人發現wpf也叫“我佩服”
。
wpf優點與適用范圍:
wpf,英譯中是:窗口基礎呈現,也就是一種界面設計規范。在當今互聯網風潮流行的時代,無論是大眾用戶還是企業內部用戶,對軟件界面的要求是越來越高,無論是靜態展示,還是動態交互,用戶都希望我們的產品像騰訊/360軟件看齊,在我們的實際開發過程中就不止一次聽到客戶發聲:我們想做的和騰訊電腦管家一樣!
然而,對於wpf來說,能夠滿足你的需求,wpf提供了常用的基礎控件,基礎動作觸發方法,基本的屬性,更重要的是:你可以超自由自定義基本控件,也就是說,只有想不到的,沒有做不到的。
wpf特點:
我們知道傳統的GUI界面都是由windows消息通過事件傳遞給程序,程序根據不同的操作來表達出不同的數據體現在UI界面上,這樣數據在某種程度上來說,受到很大的限制。WPF中是數據驅動UI,數據是核心,處於主動的,UI從屬於數據並表達數據,是被動的。WPF數據第一,控件第二。
MVVM:
作為web開發者,又要聯想了,angularjs,vue.js這些不是就應用了雙向數據綁定的概念嗎?mvvm到底是什么,給一張圖,具體概念大家百度一下吧。(后期會有專門針對雙向數據綁定應用的實例),關於mvvm誘騙好文章推薦下:http://www.oschina.net/translate/wpf-mvvm-step-by-step-basics-to-advance-level?lang=chs&page=1#

