爲什麼很多人“看不起”Winform?

-Begin-

前言

經常遇到還沒開始學習C#的學員問我:

Winform和WPF,我應該先學什麼?

在很多人眼裏,WPF是一門高級技術,而Winform是比較Low的。

今天跟大家聊聊,關於WPF和Winform。

簡單聊聊

首先我認爲Winform不算是過時的技術,WPF也不算是新技術,兩者並不是你死我活的競爭狀態,還是不同階段的不同選擇。

就像是汽車一樣,Winform偏向於家用代步車,WPF偏向於高級的轎車,不同的價格,不同的性能,不同的定位。

對於剛畢業幾年的年輕人來說,家用代步車無疑是更適合的,但是你只要努力,你肯定會到達購買高級轎車的階段。

所以我的建議是對於初學者來說,學習Winform的成本會更低,學習WPF,你要多學習一門XAML語言。

而且不管是代步車還是高級轎車,都需要有駕照,你才能上手,對於Winform和WPF來說,這個駕照就是C#編程語言。

但是有了一定編程經驗,或者是把Winform玩得比較熟了之後,你再接觸WPF,會更加容易上手。

兩者區別

如果要說Winform和WPF最大的區別在哪裏?

我覺得一方面是佈局方式,一方面是驅動方式。

首先談下佈局方式,一般來說,界面佈局的方式有兩種,一種是拖控件,另一種是通過佈局控件來實現,而Winform主要是以拖控件的方式爲主,配合佈局控件做整體佈局,而WPF則恰恰相反,雖然也可以拖控件,但是很少這麼做,主要是通過編寫XAML代碼來實現。

再來說下驅動方式,Winform是基於事件驅動,WPF是基於數據驅動,以操作一個按鈕,執行一個查詢操作爲例,Winform是在按鈕的點擊事件裏,寫好查詢代碼,然後將結果展示在數據控件裏,而WPF則是通過按鈕綁定一個動作方法,數據控件綁定好數據源,在方法裏查詢即可,這樣做的目的就是儘量減少前後端的耦合。

寫在最後

無論是Winform還是WPF,都是微軟的一種桌面技術而已,都需要採用C#語言來編程,所以不要去論語言或者技術的好與壞,這樣眼界會變窄。

不管是什麼語言,什麼技術,對我們來說,只是一個工具而已,適合自己的纔是最好的,能解決問題的就是好的,就像那句諺語,白貓黑貓,能抓老鼠的就是好貓。

可能我們現在主要用的語言是C#,但是也許某一天,我們也會去學python、C++、Java,當具備一定的編程思維和編程能力之後,無論以後是學什麼語言,我們都會很快上手。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章