mfc框架的基本運行原理 請問目前做windows桌面應(yīng)用程序,MFC、QT、C#哪個更好?
請問目前做windows桌面應(yīng)用程序,MFC、QT、C#哪個更好?做Windows桌面應(yīng)用程序,當然是C#。C#是下一代的主要語言。Net框架。它與Windows系統(tǒng)的集成度很高。Win7、win8和
請問目前做windows桌面應(yīng)用程序,MFC、QT、C#哪個更好?
做Windows桌面應(yīng)用程序,當然是C#。
C#是下一代的主要語言。Net框架。它與Windows系統(tǒng)的集成度很高。Win7、win8和win10都有自己的版本。Net框架,所以它們根本不需要任何依賴性。C#已更新至8.0版。使用VS開發(fā)桌面程序是完美的選擇。WinForm和WPF都是十到二十年來非常成熟的桌面程序框架。你可以通過拖放控件開發(fā)桌面程序,速度很快。WPF具有高度的定制性。它可以設(shè)計一個漂亮的用戶界面而不丟失web界面,它還具有一個支持的平淡的設(shè)計器來輔助用戶界面。
目前,WinForm和WPF桌面框架已經(jīng)擴展。NETCORE是一個新的平臺框架,所以我認為C是桌面開發(fā)的首選。
關(guān)于以上我的觀點,您也可以討論一下您的想法。
現(xiàn)在MFC還流行嗎?
看了這個問題之后,幾乎100%的受訪者表示MFC已經(jīng)過時了。我對如此高的可能性感到驚訝。
總之,MFC并不流行,但它并沒有過時。
眾所周知,C是一種經(jīng)典而高效的編程語言。MFC作為一種Windows編程框架,曾經(jīng)有過大量的支持者。但是微軟沒有在MFC上做更多的創(chuàng)新,例如,沒有像第三方公司的控件那樣在界面上發(fā)布新的工具。微軟已經(jīng)將精力投入到C#,甚至開發(fā)了VisualC.NET,一個幫助MFC程序員過渡到C#的工具。
微軟的初衷。Net是為了與Java競爭,在跨平臺應(yīng)用中平衡Java。后來,隨著互聯(lián)網(wǎng)的迅速發(fā)展,桌面應(yīng)用成為邊緣化少數(shù)群體的需求。大量編碼人員加入互聯(lián)網(wǎng)公司,C和C被忽視,用戶比例不斷下降。
今天的桌面開發(fā),除了C是C#,其他都不是主流(我可能不知道,也有大量的國外程序員沒有用過VS)。C開發(fā)了C11/C14/C17,這被大多數(shù)數(shù)字農(nóng)場主所忽視。第三方控件也大大彌補了MFC接口的不足。但是C和MFC對初學者的要求比C更高,這是毋庸置疑的。在當今的效率時代,年輕人無疑會選擇C#(更多的年輕人會涌向互聯(lián)網(wǎng),因為這個行業(yè)支付的費用更高)。
然而,C?的隨機性將嚴重損害程序員的良好素質(zhì)。一個沒有紀律的程序員會編寫大量的私生子代碼,這會讓后來的程序員或C程序員哭哭啼啼,直接崩潰。
我手頭有一個項目。有兩三個。幾位“前輩”寫的6000多行CS文件。變量滿山都是,數(shù)據(jù)處理水平不分,接口慢,不懂行業(yè)應(yīng)用。充其量只是實驗室的半成品,實用價值不大。
C#的方便之處在于它可以更快地引用第三方控件,而無需任何約束。因此,懶惰的程序員會過分依賴各種控件,迫使不適當?shù)目丶?yīng)用于復雜的工業(yè)領(lǐng)域。這對于C/MFC程序員來說是不可想象的。
我的意思是,互聯(lián)網(wǎng)行業(yè)的程序員不適合討論這個問題。桌面應(yīng)用程序、MFC或C程序員并沒有過時。不同的是,一個C程序員可以在三到兩個月內(nèi)開始,但C程序員需要三到五年的時間來開發(fā)自己。
無論做什么,都要有很好的計劃,嚴格的自律,不能把代碼拼湊起來。如果你急功近利,你只能做一堆垃圾。
如何理解MFC框架?
事實上,MFC非?!罢麧崱薄@斫釳FC框架的核心是理解面向?qū)ο蟮木幊趟枷?。MFC不是用函數(shù)封裝的,而是用面向?qū)ο蟮乃枷雽⒑瘮?shù)(win32api)封裝成類的形式。很容易理解,整個MFC架構(gòu)是:OOP→class→function,其代碼形式是class sequence(非常簡單,說白了就是class string)。業(yè)主覺得功能有些混亂的原因有兩個:1。由于不了解面向?qū)ο缶幊棠P?,沒有意識到整個代碼實際上是一個類序列,仍然停留在C語言的結(jié)構(gòu)化編程思想中。他對封裝Win32函數(shù)的類了解不夠。比較一下,如果對Win32(C語言)代碼結(jié)構(gòu)的總體理解是函數(shù)序列,那么MFC(C)的總體代碼結(jié)構(gòu)是類序列。MFC調(diào)用類實現(xiàn)程序功能,Win32調(diào)用API實現(xiàn)程序功能。不懂的地方可以問,希望領(lǐng)養(yǎng),呵呵。
騰訊QQ為什要自研UI框架,而不用QT/MFC?
可以肯定的是,direct UI是適用于Windows平臺的良好UI解決方案。自我研究框架并不困難。給我兩個C程序員,一年可以商用。我已經(jīng)用C寫了一半了。直接用戶界面是一項技術(shù),這并不難誰可以。一個畫布,一個信息循環(huán)。存在一些困難,如抽象模型和平臺適應(yīng)(如windows)。
………
以下是7月2日凌晨編輯的
由于回復簡短,引起誤解,可以理解。
回到問題本身,MFC和QT屬于底層框架。做一般的應(yīng)用就足夠了,需要重新開發(fā)才能做與眾不同的應(yīng)用。要連接到應(yīng)用層還有很多工作要做。最好重寫一套directui。
QQ UI有一定的技術(shù)含量,更不用說一般的組件了。對于這個消息編輯器和消息顯示設(shè)備,有大量的代碼。圖形元素的定位、測量和表示都是技術(shù)性的。MFC和QT沒有現(xiàn)成的解決方案。文本和圖形元素的混合增加了難度。2003年前后,我用MFC做了這種嘗試,能力有限,實現(xiàn)不是很理想。讓我現(xiàn)在就做,或者不做。
大公司自主開發(fā)的框架具有允許能力強、重用方便、性能優(yōu)異、實力突出等優(yōu)點。常用軟件360、WPS也是自己的框架。
僅此而已。