如果你是一名C++程序員,你會選擇Win32 API還是.NET來開發GUI應用程序?學習Win32開發GUI應用程序
回答
Win32是一個API(應用程序編程接口)。 .NET也是如此。 POSIX也是如此。前兩種將GUI工具包集成到主API中,但如果您願意,也可以使用其他工具包,如Qt(如Skildrick所建議的)或wxWindows。對於* nix,主要API是POSIX,幾乎所有的都使用X11作爲低級圖形層,那麼您需要在頂部有一些GUI工具包(沒有一個集成到POSIX中)。根據所需的顯示器類型,OpenGL是另一個非常好的高度可移植的GUI工具包,雖然它專注於高速矢量圖形而不是UI小部件。
使用Win32 API的集成GUI工具包的一個很好的理由是Win32 API的許多其他部分都使用它, WSAAsyncSelect和MsgWaitForMultipleObjectsEx是集成到GUI消息處理中的非GUI功能。一個好的包裝工具包可以給你足夠的控制權以繼續使用這些工具,但是很少有這樣做,因爲這種方法與非Windows操作系統有很大不同,而且大多數替代工具包都認爲可移植性高於功能。
即使是從底層開始在Windows上運行最佳的.NET,也無法使用異步過程調用或來自UI線程的等待定時器,因爲.NET中的消息處理都不使用MsgWaitForMultipleObjects。所以你最終不得不使用多線程和大量的同步代碼。
但是遠離MFC。這基本上是一個在沒有編譯器支持的情況下實現異常的學術練習,而不是您想要的嚴格應用程序的框架。在現代C++設計被更好地理解之後,大多數其他「特性」得到了增加,但繼續使用由保持事物一致性的名稱對異常和虛擬繼承的早期入侵開始的危險混亂風格。今天有更好的選擇。
謝謝先生! – Gareth87 2010-05-25 12:50:55
.net圖形用戶界面不僅僅是基於API的; WPF是一個場景圖而不是API方法,可以適用於某些類型的應用程序。 – 2010-05-25 13:03:33
還有一個API來構建場景圖。但我小心使用「GUI工具包」而不是API,而WPF絕對是一個GUI工具包。 – 2010-05-25 14:30:42
試試這個免費的書 - 我發現它非常好。對於C++程序員來說,它是C#和.net的指南,並且正常跳過正常的kiddy內容。
我說一舉兩得。在.NET發佈之前,我學到了一點Win32的東西。我玩弄了Win32 API本身和MFC。這非常有教育意義。我學到了很多關於Windows如何對待你的應用程序以及它希望你做的事情。如果我現在回去學習.NET,我相當肯定,如果沒有以前的經驗,我會比這更感激。
- 1. 學習如何開發GUI應用程序
- 2. 學習Android應用程序開發
- 3. 該怎麼做,開發應用程序時學習或先學習,然後開發應用程序
- 4. 我應該學習如何開發Chrome應用程序?
- 5. 我想學習Win32編程
- 6. 用asp.net學習web應用程序開發
- 7. 我需要幫助學習iPhone應用程序開發?
- 8. 學習Java GUI -
- 9. Win32 GUI演示應用程序到Java(小程序)GUI
- 10. 從哪裏開始學習如何將此應用程序轉換爲GUI?
- 11. 在哪裏學習metro風格的應用程序開發。從一開始?
- 12. iOS應用程序開發:初學者
- 13. Android應用程序開發初學者
- 14. iphone應用程序開發初學者
- 15. 開源的應用程序使用WPF :::學習:::
- 16. 學習Windows 10應用程序
- 17. 學習Jquery API的應用程序?
- 18. 學習Android Java - 應用程序失敗
- 19. 好Java學習應用程序OOD
- 20. Google應用程序腳本學習
- 21. Web開發學習環境
- 22. 學習開發Flash內容
- 23. 學習開發算法
- 24. Magento開發學習曲線
- 25. 學習Silverlight並使用它開發應用程序是否值得?
- 26. 哪個Oracle 11g R2版用於學習開發Web應用程序
- 27. 開發另一個博客應用程序用於學習目的
- 28. 從哪裏開始學習諾基亞應用程序?
- 29. 開始學習iPhone的Objective-C應用程序從哪裏來?
- 30. 學習從頭開始創建Rails應用程序嗎?
可能重複的[如何使用C++爲Windows應用程序創建GUI?](http://stackoverflow.com/questions/488837/how-do-i-create-a-gui-for-a- windows-application-using-c) – 2010-05-25 12:30:49
刪除評論,因爲它提出了主觀和議論的問題。沒有評論,問題就是另一個問題的完全重複。評論的問題是主觀的和議論的,而且*仍然*是另一個問題的確切副本。 – 2010-05-25 12:31:42