- ベストアンサー
MFCなのかWin32APIなのか
みなさんはじめまして。グフです。 これからWindows上でC/C++(VisualStudio.NET2003) にて、Windowsアプリケーション開発の勉強を始め ようとしています。 いろんなサイトや書籍を見ている中で、Windowsアプリ の開発方法としてMFCをつかうやり方と、Win32APIで 開発する方法の2つがあることがわかりました。 これからWindowsの勉強を行うにはどちらの方法で開発 するのが望ましいのでしょうか? ケース by ケースだとは思いますが、何かアドバイス いただければと思いまして、投稿させていただきました。 やはり基礎からおさえるのであれば、Win32APIの方が よろしいのでしょうか? 今後のWinFX環境を考えると、Win32APIでの知識が無駄 になってしまうということはないのでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>ゲームはやはりWin32APIとDirectXで作られているパターンが多いのでしょうか? はい。例えばDirectX9にくるC++のサンプルは9割がSDKで作られています。 MFCで作る場合のサンプルもありますが、ゲームを作る場合 MFCの恩恵はほとんどないので、SDKがメインです。 >業務アプリケーションへの適用も考えています。 MFCと同じ機能をSDKからつくろうとするとむちゃくちゃ大変です。 (例えば印刷プレビューとか) 業務アプリの場合イレギュラーなことをしない限りMFCで作ることが多いかもしれません。 ただやはりSDKを理解したうえでMFCを使うべきだと思います。 SDKの解説サイトで一番有名なサイトです。 「猫でもわかるプログラミング」 http://www.kumei.ne.jp/c_lang/ 書籍なら 山本信雄著 VisualC++(1)はじめてのWindowsプログラミング がお勧め。 http://esbooks.yahoo.co.jp/books/detail?accd=30630203
その他の回答 (4)
- terra5
- ベストアンサー率34% (574/1662)
WinFX考えるなら、MFCもアウトでは? 限定的なMFCよりWin32APIをすすめます。
- sha-girl
- ベストアンサー率52% (430/816)
#1の方とまったく同意見です。 >Win32APIでの知識が無駄になってしまうということはないのでしょうか? それはありません。 MFCからはじめても、応用がきかなくなると思いますし結局はWin32APIを 学習するはめになります。 MFCはSDK(Win32API)をクラスにしてをラッピングしているものです。 ですからMFCを理解するためにはC++とWin32API、両方の理解が必要です。 あと何を作りたいかによっても重点が違います。 MFCを使って作っているゲームなんてあまりみかけません。 あと有名なソフトはSDK(Win32API)から作っていることが多いです。 MFCはちょっとしたソフトを作るのは楽ですが、大規模なソフトになると その仕様が足かせになります。いきづまったときMFCのソースをみることになり 結局、SDK(Win32API)を使った自作のクラスに置き換えるなんてこともありえます。
お礼
やはりWin32APIはきっちり抑えておかないとダメそうですね。 急がばまわれで、基礎からきちんと勉強していくことにします。 作りたいものとしては、まずは個人用のツール、知識がついてきたところで、 業務アプリケーションへの適用も考えています。あと個人的にはゲームも作ってみたいですね。 ゲームはやはりWin32APIとDirectXで作られているパターンが多いのでしょうか?
補足
Win32APIに関して参考になる書籍、またはWEBサイトがあれば教えて頂けないでしょうか。
- honiyon
- ベストアンサー率37% (331/872)
こんにちは、honiyonです。 個人差はあるかと思いますが、私の場合ですと、 Win32、MFCは当初挫折しました(笑) 現在も完全とはいえませんが、100%Win32APIのみの開発は可能です。MFCも必要な所は勉強して使えるようにはなっています。 私はVBから入門し、より効率を求めてDelphiを覚え、その上でWin32を学び、面倒だと不満を感じる所はMFCで補うというやり方で覚えていきました。 尚、上記でDelphiとありますが、これは元々趣味でTurboPascalを使った開発をしていたので、ここでDelphiが出てきたのだと思います。 以上、参考になれば幸いです(.. KTBBS懐かしいな(笑)
お礼
Win32APIをメインとして開発し、MFCで面倒なところを補うということですか。 やはりベースとしてWin32APIをきっちりとおさえておくほうがよさそうですね。 ちなみに私はプログラミングはCから入門しFORTRAN, VB,COBOL,Java,C#,C++と変遷してきました。 ここにきてWindowsでしっかりプログラミングしようと 思うとC/C++でWin32APIの知識が必要なのかなと感じてきているしだいです。
補足
Win32APIに関して参考になる書籍、またはWEBサイトがあれば教えて頂けないでしょうか。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
MFCの方が楽ですが、Win32-APIを何も知らずに使えるものではありませんし、MFCではできないことをWin32-APIで補わなければならないことも少なからずあります。ともかくもWin32-APIのキモは押さえておかないと。
お礼
やはり基本はWin32APIですね。基礎からしっかり積み上げて いくことにします。
補足
Win32APIに関して参考になる書籍、またはWEBサイトがあれば教えて頂けないでしょうか。
お礼
そうですね。WinFXであればMFCもダメっすね。 Win32APIから抑えていくことにします。