あなたはすでにC++とJavaを知っていて、これまでGUIを使用したことがないと言います。つまり、次のことを意味します。
- JavaGUIまたはC++GUIのどちらを使用する場合でも、GUIフレームワークの処理方法を学ぶ必要があります。
- Javaを選択した場合は、2つの言語間のインターフェース方法も学ぶ必要があります。
したがって、C ++にとどまると、学ぶべきことが1つ節約されます。ええと、何かを学ぶことは常に良い考えですが、同時に2つの新しい概念を学ぶことは悪い考えかもしれません。とにかく、学習の負担は少ないかもしれませんが、SWIGのようなツールを使ったとしても、実際の作業はたくさんあると思います。
GUIをJavaで作成するのか、C++で作成するのが簡単かを知りたい場合があります。選択したフレームワークによって異なります。Javaの場合、デフォルトのJavaディストリビューションの一部であるAWTとSwingがあり、次にEclipseで使用されるSWTがあります。C ++には多くのツールキットがあり、Qt、GTK、wxWidgetsが最も人気があり、3つすべてがすべての主要なプラットフォームをサポートしています。これらの「C++」GUIツールキットのほとんどにはJavaバインディングまたはJavaポートもあるため、Javaでも使用できます。
これまでのところ、Swing、Qt、および状況に役立たないその他のいくつかを使用しました(.NET上のBorland C ++ BuilderおよびWinFormsに付属しているUIのもの)。基本的に、概念はこれらすべてのフレームワークで同じであり、他のフレームワークよりも難しいまたは簡単なものはありませんでした。唯一の例外はJavaかもしれません。なぜなら、他のツールキットには習得が容易なLayoutManagerと同等のものがあるにもかかわらず、これらのLayoutManagerを機能させることができなかったからです。しかし、多分それは私だけです。
また、Java GUIは常に醜く、ホストシステムに適合しないと言われます。ええと、ほとんどのJava GUIは実際にはそうですが、私見はJavaのせいではなく、プログラミングの悪さのせいです。SwingアプリをOSのルックアンドフィールに適合させるには2行のコードが必要であり、ほとんどのプログラマーは、JavaGUIにこれらの2行をコピーして貼り付けるのに十分な労力を費やしていません。彼らは残りのGUIデザインを気にします。
現在の状況では、C ++ GUIをお勧めしますが、将来の計画がどのようになるかを知っていて、残りの人生でJava GUIを実行することがわかっている場合は、今すぐ開始して、の余分な努力。
また、GUIにC ++を選択した場合、人々はあなたをあらゆる方向に引っ張るためにあらゆる種類のことを教えてくれます。3つの大きなポータブルフレームワークにはすべて長所と短所がありますが、その中に最高または最悪のフレームワークは1つもないと思います。Qtをすでに使用しているという理由だけでお勧めしますが、代わりにGTKまたはwxWidgetsを使用した場合は、おそらくそれをお勧めします。