都是基於.NET平台,WPF能取代Winform嗎?


學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編程大全    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM