MFCがかなり使われいることは知っているのですが、今は数々のオープンソース系GUIライブラリもありますし、スクリプト言語のバインディングもできていますよね。例えば私が触ったことのあるもので言うと、Gtk+、Qt、wxWidgets、Swing、Tk、WindowsFormsなどです。それぞれ英語ベースのコミュニティ・サイトみたいなものはあるのですが、日本での評判がどうなのかよくわかりません。
そこで、皆様の体験(どのライブラリをどの言語で使ったかなど)や使ってみて良かった点、悪かった点などをお聞かせください。
No.2ベストアンサー
- 回答日時:
日本の場合、権威主義というか「無難な多数派」を選択することが多いので、
あえてオープンソースの(Windows用)GUIライブラリを選択するような開発はそうないのでしょう。
# MFCも一応GUIライブラリ的な性質は持ってますね。
# 透過的というか、きちんと閉じてない/完結してないので、
# Win32と組み合わせて使わないとまともに使えませんけど…。
GTKはGnomeが幅を利かせているLinux界隈では使われてます。
KDE派のところはQt使ってるでしょう。結局「無難な多数派」です。
wxは一時期ちょっと話題になった気はしますが
(ちょうど、Borland C++ Builder Xにバンドルされることになった頃?)
あまり定着しなかった印象です。(「無難な多数派」じゃないせいでしょうか…)
SwingというかJavaのGUI自体があまり人気がない気がしますが、
JavaでGUIを書くならやはり選択肢はSwingか、SWTあたりになるでしょう。
どちらになるかは、原理主義(Sun派)ならSwing、実利主義(IBM派)ならSWTなのか…?
私自身は、LinuxだとGTK+をメインに、Otをかじったり、MicroWindowsとかも使ったことが。
Windowsでは、Win32直叩きからMFC,OWL(Object Windows Library)、wx、WideStudioあたりはいじってます。
JavaはAppletとSWTはかじったことがありますが、
Swingはユーザとして嫌いなのでJavaの本で眺めたことがある程度(使ってみる気もおきず)
後は、PythonでTkとか。TkはPerlやRuby等からも使えるらしいので、
(PerlやRubyはあまり詳しくない)ぼちぼちなんじゃないでしょうか。
WTLなんてのもありますね。
極論、きちんと動いてメンテされてれば、どれでもいいんですけど。
マルチプラットフォームでコード書く身からすると、どれも微妙に痛し痒しというか…。
全ての環境である程度の互換性があって、でもOSのネイティブコントロールをちゃんと使ってて、
ライセンスがクリアで無償で使えて性能が出て…今のところ決定版には出会えてません。
結局各環境で無難な選択+ロジックからの切り出しという定番になってます。
# 仕事だと、説得が面倒なので標準バンドルものになるってだけかもしれませんが。
ありがとうございます。大変参考になりました。
私の場合、TkはTclから使っています。Linuxでの見栄えがもうちょっと良くなって(Gnome/KDEのスタイルを真似る+アンチエイリアス・フォントへの対応)くれればありがたいのですが…。
クロスプラットホーム性をあきらめれば(Monoとかがあるにはありますが…)、C#+Windows Formsも悪くないなと思っていたのですが、VistaとともにXMLベースのWPFが出てきてしまったので、これからじっくりWindows Formsを勉強しても無駄になるのではないかとちょっと悩んでいるところです。
No.1
- 回答日時:
簡単な説明で厳密には違うけどMFCってGUIライブラリではなくて
Win32APIを直接叩かなくていいようにするためのクラス群です。
比較対象が違います。
MFCをGUIライブラリと言うことは
今風(?)に言うと.NET FrameworkをGUIライブラリといっている様な物です。
ご指摘ありがとうございます。
包括的に何と言ったらいいかよくわかりませんが、Win32API や X Window System のラッパーだとか独自の描画機能を使っているツールキットだとか、とにかくGUIプログラミングを作るためのクラス群としてお考えください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python urlopen error について...
-
Windows Media Playerを開くと...
-
Google ColaboでGUI作成
-
iCloudフォトライブラリ内の画...
-
C++ 標準ライブラリの実際の中...
-
LIBCMT.LIBをリンクしてコンパ...
-
Ps+のフリープレイでDestiny2の...
-
Dreamweaver ライブラリ機能に...
-
outp関数について
-
本格的なGUIを作るのにおすすめ...
-
fortranプログラミングでの数値...
-
「System.Text.RegularExpressi...
-
Dreamweaverのライブラリが反映...
-
unix-c と linux-c の違いは?
-
iPhotoのライブラリが肥大化
-
C# EXCELセルの入力規則設定に...
-
モバイルCというC言語のプログ...
-
iPhoneのカメラロールへ画像を...
-
ATLとSTLの違いは何でしょうか?
-
VB.NET とドットNET(.NET...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows Media Playerを開くと...
-
Google ColaboでGUI作成
-
本格的なGUIを作るのにおすすめ...
-
python urlopen error について...
-
iCloudフォトライブラリ内の画...
-
C++ 標準ライブラリの実際の中...
-
ライブラリ作成時のグローバル...
-
Ps+のフリープレイでDestiny2の...
-
DLL読み込み時エラー
-
DirectX Graphics と OpenGLっ...
-
outp関数について
-
boostのアンインストールについて
-
マウスのクリックを自動で
-
プログラマーで「使えない人」...
-
unix-c と linux-c の違いは?
-
フーリエ変換やFFTのプログラム
-
iPhoneのカメラロールへ画像を...
-
Dreamweaverのライブラリが反映...
-
declaration of 'index' shadow...
-
オブジェクトブラウザの「stdol...
おすすめ情報