wpf菜鳥教程 有人說(shuō)WPF比winform強(qiáng)大很多,可為什么很少轉(zhuǎn)的?
有人說(shuō)WPF比winform強(qiáng)大很多,可為什么很少轉(zhuǎn)的?因?yàn)閃PF的學(xué)習(xí)成本很高!首先,XAML需要你花很多時(shí)間學(xué)習(xí)!那么混搭設(shè)計(jì)UI動(dòng)畫也需要學(xué)習(xí)!背景代碼也需要學(xué)習(xí)!還有WPF的獨(dú)家功能要學(xué)習(xí)!W
有人說(shuō)WPF比winform強(qiáng)大很多,可為什么很少轉(zhuǎn)的?
因?yàn)閃PF的學(xué)習(xí)成本很高!首先,XAML需要你花很多時(shí)間學(xué)習(xí)!那么混搭設(shè)計(jì)UI動(dòng)畫也需要學(xué)習(xí)!背景代碼也需要學(xué)習(xí)!還有WPF的獨(dú)家功能要學(xué)習(xí)!WinForm相對(duì)容易上手!但是WinForm有明顯的缺點(diǎn),它是基于GDI繪圖的,如果電腦顯卡不好的話!UI將非??ǎ∧悴荒苡盟?!如果顯示器是高分辨率屏幕,更別說(shuō)了!直接冷卻!模糊不清楚添加UI延遲!該死的!WPF現(xiàn)在支持。NETCORE 3.0!值得學(xué)習(xí)
!那些說(shuō)WPF不好的人是不理解WPF的人!我能說(shuō)外行嗎
現(xiàn)在還早。作為a.Neter,我應(yīng)該是國(guó)內(nèi)第一批使用核心的項(xiàng)目之一,但生態(tài)的發(fā)展還需要努力。許多老的。Neters習(xí)慣于微軟家族的bucket開發(fā)。他們的經(jīng)驗(yàn)和影響遠(yuǎn)不如Java前輩對(duì)后人有用。
然而,從性能的角度,以及發(fā)展藍(lán)圖來(lái)看,五年,。有機(jī)會(huì),機(jī)會(huì)是巨大的。在過(guò)去的五年里,c#不會(huì)發(fā)展。C已經(jīng)很優(yōu)雅了。在過(guò)去的五年里,c將發(fā)展生態(tài)學(xué)。一群老人。Neters將跳出之前開發(fā)的舒適區(qū),新用戶將跟上它。讓我們一起振作起來(lái)。我真的很想帶著實(shí)習(xí)生一起去,讓他們快速投資生態(tài)建設(shè)
看一看,這個(gè)問(wèn)題幾乎是100%,聽說(shuō)MFC已經(jīng)過(guò)時(shí)了,我很驚訝。
總之,MFC并不流行,但它并沒(méi)有過(guò)時(shí)。
眾所周知,C是一種經(jīng)典而高效的編程語(yǔ)言。MFC作為一種Windows編程框架,曾經(jīng)有過(guò)大量的支持者。但是微軟沒(méi)有在MFC上做更多的創(chuàng)新,例如,沒(méi)有像第三方公司的控件那樣在界面上發(fā)布新的工具。微軟已經(jīng)將精力投入到C#,甚至開發(fā)了VisualC.NET,一個(gè)幫助MFC程序員過(guò)渡到C#的工具。
微軟的初衷。Net是為了與Java競(jìng)爭(zhēng),在跨平臺(tái)應(yīng)用中平衡Java。后來(lái),隨著互聯(lián)網(wǎng)的迅速發(fā)展,桌面應(yīng)用成為邊緣化少數(shù)群體的需求。大量編碼人員加入互聯(lián)網(wǎng)公司,C和C被忽視,用戶比例不斷下降。
今天的桌面開發(fā),除了C是C#,其他都不是主流(我可能不知道,也有大量的國(guó)外程序員沒(méi)有用過(guò)VS)。C開發(fā)了C11/C14/C17,這被大多數(shù)數(shù)字農(nóng)場(chǎng)主所忽視。第三方控件也大大彌補(bǔ)了MFC接口的不足。但是C和MFC對(duì)初學(xué)者的要求比C更高,這是毋庸置疑的。在當(dāng)今的效率時(shí)代,年輕人無(wú)疑會(huì)選擇C#(更多的年輕人會(huì)涌向互聯(lián)網(wǎng),因?yàn)檫@個(gè)行業(yè)支付的費(fèi)用更高)。
然而,C?的隨機(jī)性將嚴(yán)重?fù)p害程序員的良好素質(zhì)。一個(gè)沒(méi)有紀(jì)律的程序員會(huì)編寫大量的私生子代碼,這會(huì)讓后來(lái)的程序員或C程序員哭哭啼啼,直接崩潰。
我手頭有一個(gè)項(xiàng)目。有兩三個(gè)。幾位“前輩”寫的6000多行CS文件。變量滿山都是,數(shù)據(jù)處理水平不分,接口慢,不懂行業(yè)應(yīng)用。充其量只是實(shí)驗(yàn)室的半成品,實(shí)用價(jià)值不大。
C#的方便之處在于它可以更快地引用第三方控件,而無(wú)需任何約束。因此,懶惰的程序員會(huì)過(guò)分依賴各種控件,迫使不適當(dāng)?shù)目丶?yīng)用于復(fù)雜的工業(yè)領(lǐng)域。這對(duì)于C/MFC程序員來(lái)說(shuō)是不可想象的。
我的意思是,互聯(lián)網(wǎng)行業(yè)的程序員不適合討論這個(gè)問(wèn)題。桌面應(yīng)用程序、MFC或C程序員并沒(méi)有過(guò)時(shí)。不同的是,一個(gè)C程序員可以在三到兩個(gè)月內(nèi)開始,但C程序員需要三到五年的時(shí)間來(lái)開發(fā)自己。
無(wú)論做什么,都要有很好的計(jì)劃,嚴(yán)格的自律,不能把代碼拼湊起來(lái)。如果你急功近利,你只能做一堆垃圾。
2020年11月微軟會(huì)發(fā)布.Net5,C#可以一統(tǒng)江湖了嗎?
。MFC在軍工和自動(dòng)化的許多領(lǐng)域隨處可見。即使我們的大多數(shù)產(chǎn)品都是由MFC開發(fā)的,盡管有些產(chǎn)品使用QT重構(gòu)。
您選擇MFC。我們先來(lái)看看效果圖。以下是QT(PS:author-CSDN-one-to-two-threeli)的一個(gè)新特性QSS開發(fā)的一組界面蒙皮變化效果圖
!作為C接口開發(fā)的首選接口庫(kù),它具有優(yōu)雅的API設(shè)計(jì)、跨平臺(tái)支持、完整的官方文檔以及持續(xù)的維護(hù)和更新。與MFC不同的是,即使是它的教父微軟也放棄了它。最后,QT對(duì)新手非常友好。
作為一名學(xué)生,不必?fù)?dān)心是選擇MFC還是QT,或者像duilib這樣的第三方接口庫(kù)。實(shí)際上,花更多的時(shí)間學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)、算法、網(wǎng)絡(luò)、內(nèi)存管理、多線程、動(dòng)態(tài)庫(kù)和消息機(jī)制更好嗎?
接口,C不是真正的強(qiáng)項(xiàng)。C和電子不夠香嗎?
現(xiàn)在MFC還流行嗎?
作為WPF的用戶,我可以負(fù)責(zé)任地說(shuō)WPF是一個(gè)強(qiáng)大的工具,將來(lái)可以跨平臺(tái)使用。WPF的界面非常漂亮。當(dāng)我熟悉它的時(shí)候,即使我做一個(gè)小的演示,開發(fā)速度也會(huì)比WinForm快。它的缺點(diǎn)是學(xué)習(xí)曲線陡峭,我需要使用和體驗(yàn)很多東西。在我熟悉它之后,如果我做Android或者小程序的開發(fā),你會(huì)發(fā)現(xiàn)WPF中有很多東西已經(jīng)被觸及了。如果我能克服最初的學(xué)習(xí)困難,我建議學(xué)習(xí)WPF和windows界面。如果我想保持冷靜,WPF是個(gè)不錯(cuò)的選擇。我以前用過(guò)Delphi,也學(xué)過(guò)QT,但是我覺(jué)得用WPF更方便、更強(qiáng)大。
很多人說(shuō)C 的MFC已經(jīng)過(guò)時(shí)了,那新入門的人到底應(yīng)該學(xué)什么?
WPF,包括Silverlight,在運(yùn)行時(shí)并不流行,其設(shè)計(jì)語(yǔ)言XAML也不是很流行。現(xiàn)在它主要是面向開發(fā)者的產(chǎn)品,實(shí)際使用的揚(yáng)聲器可能更多。值得一提的是,許多微軟軟件,如visualstudio2010,都使用WPF來(lái)實(shí)現(xiàn)界面。接下來(lái),WP7、win8、xbox360儀表盤Xaml的metro也用于UI開發(fā)。我相信可能會(huì)有所改善??梢哉f(shuō),為了性能,WPF是基于C#,而C#是一種委托語(yǔ)言,其效率是C的1/10,為什么你在關(guān)槍的時(shí)候會(huì)選擇菜刀呢?但是學(xué)WPF,windows商店開發(fā)和WP開發(fā)幾乎不用學(xué),它們的代碼幾乎是一樣的,這是微軟的強(qiáng)大。事實(shí)上,web也可以用xamlc#開發(fā),但是html太流行了。