質問: お世話になっております。 現在、Visual C++を使ってアプリケーションの開発を行っております。 開発当初はGUIアプリを作成する予定ではなかったのですが、途中からGUIを使ってユーザーが操作できるようにしたいと考えました。 このとき、GUIの画面をアプリに追加したいと思い、自分で調べたところ次のような方法があると思うのですが、どちらがよろしい(初心者でもやりやすい)でしょうか。 1.Qtを用いてGUIを作成 2.Windowsフォームアプリケーションを用いてGUIを作成 また上記以外の方法でもGUIを作成できる方法があれば教えていただきたいです。 わかりづらい質問内容かもしれないので、補足情報が必要な場合はご指摘お願いいたします。 お手数ですが、何卒宜しくお願いいたします。
回答: こんにちは。 なかなか難しい問題と思います。 初心者さんでもでWindows GUIを簡単に開発できるC++開発環境としては、C++Builderしかないように思います。Visual Studioで開発したアプリをDLL化することでC++Builderから呼び出すことは可能ですが、10年前はC言語I/Fでないとできませんでした。今はどうなのか把握してませんが、C++でのI/Fに対応することは原理的に難しいので今も無理かも知れません。 C++Builderは有償ですが、個人でも買えないことはない価格帯です。 Qtも強力ですが、かなり発展が早く多数の仕組みを実装しているため、そもそもどれを選択するべきかなかなか悩ましいです。初心者さんが使うには厳しいかもしれません。 QtはLGPL、もしくは、GPLの範囲で使うなら無償ですが、それ以外の使い方なら商用ライセンスが必要になります。当該アプリ開発の当初より商用ライセンスを締結する必要かありますので厳しいかも。 C#はC++Builder並にGUI開発は容易ですし、WEB情報も多く初心者さんでもとっつきやすいと思います。でも、C++とのI/Fに結構苦労します。ここが初心者さんにとってハードルが結構高そうです。 C++/CLIなら、C++とのI/Fは簡単と聞きますが、マイナーなのでいまいち情報も少なくやはり初心者さんがとっつくのはたいへんかも知れません。 どの道を選んでもハードルがそこそこあるので、悩ましいです。 個人的にはC#を選びそうです。以前も似た問題で結局C#を選びました。その時は他のプロジェクトメンバが既にC#に慣れていたからですが、今でもWEB情報が豊富なことと追加費用がかからない点でC#を選択しそうです。 また、C#とC++のI/FをとりもつのにC++/CLIを使うと良いという話を聞いたことがあります。 因みに、C++Builderは昔はBorlandが開発していましたので良くBCBと呼ばれます。今はEmbarcaderoが開発してます。