學Winform還是WPF?
很多winform的學者時常在我的技術群咨詢要不要學習WPF?我一貫的觀點是必須學啊!如果是搞工控做cs軟體開發,WPF自然是首選
WPF優勢在哪里?
①前后端分離:
WPF是資料驅動的而非Winform的事件驅動,可以通過屬性bing的方式實作界面的資料更新,這樣就可以很好地實作前后臺的分離,在大型的開發專案中,后端開發人員只用撰寫VM相關的邏輯,界面視圖部分可以去交給美工設計人員完成,很適合多人分工同時開發;
②MVVM模式:
正因為有了前后端的松耦合,就有了MVVM開發模式,所謂M就是我們定義的資料模型(model),V就是我們的UI界面視圖(view),VM就是視圖模型(View-model),這里用來承載我們模型與視圖之間的邏輯代碼;
③成熟的框架:
正是有了MVVM的開發思想,就產生了對應的配套框架,WPF成熟主流的MVVM模式開發框架有Caliburn.Micro(簡稱CM),prism、MVVMLight等,我目前就一直在使用CM框架做開發,體驗相當好,
④絢麗的外表:
WPF通過XMAL開發界面,非常靈活,可以開發很多酷炫的界面,當然Winform也可以開發出很漂亮的界面,但是很費勁,還需要基本功例外扎實,

⑤松耦合:
高內聚低耦合是軟體設計的一個基本原則,通過事件發布、訂閱;ioc容器依賴注入可以很好實作類檔案之間的解耦,雖然這不是WPF自身的特性,所幸的是WPF常用的框架都集成了這些方法,使得開發者可以輕松實作這一目的,
⑥與解析度無關:
WPF是基于矢量繪圖的,因此它產生的圖形界面能夠支持各種解析度的顯示設備,⑦有錢途:國內最主流的編程語言當屬Java,但是正因為主流,會Java、精通Java的就有大把大把的人選,一個普通的Java崗,一份普通的薪資,應聘者可以排一長隊,就是這么卷,反觀WPF,很多公司真是招不到人啊,在上海,有個兩三年WPF作業經驗,年薪二三十萬是個很輕松的事情,甚至很多通過自學亦或者是轉行的也能找到一份不錯的作業,至少目前的現狀是這樣,因為C#的使用率正在穩步提升,這方面的人才卻沒有跟上市場的需求,不過,不知道這個現狀會不會持續,也許過不了幾年,WPF也會卷進來,
為什么覺得WPF難學?
很多人一開始可能會先學習winform,winform簡單、入門快,拖拖控制元件就可以搞出來界面,剛熟悉了Winform,習慣了拖控制元件,然后又去學習WPF,一開始難免有很多不適應,WPF難導倒是也不難,就是用法靈活,要了解熟悉的內容比較多,尤其是這方面的學習資源比較少,很多人時常群里問,WPF怎么學啊?大家第一反應就是看劉鐵猛的【深入淺出WPF】,說明啥?一個說明這本書的確經典,其次也說明這方面學習資源極度匱乏,要知道這本書出版于2010年,至今已過去十二年,
如何學習WPF?
WPF入門容易,精通難,任何一門語言也都是這樣,包括Python,學習語言沒有捷徑可走,只能說是有一些好的方法可以借鑒,我也是通過自學走上WPF開發之路的,一開始就是買幾本書,看書,寫實體,其次就是上百度找學習資料,然后是上B站看學習視頻,再就是上github找優秀的原始碼拜讀,總之,需要不斷用心的學習和積累,常言道,書山有路勤為徑,學海無涯苦作舟!
技術群:添加小編微信并備注進群
小編微信:mm1552923 公眾號:dotNet編程大全
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/442745.html
標籤:.NET技术
下一篇:Ajax將多個資料發布到燒瓶
