C++ソフト開発ツールのセオライザー

C++応用講座Qt編

実践C++応用講座Qt編   【無料】

C++用のGUI開発ツール

マルチ・プラットフォームなプログラミング言語としては、C++はある意味無敵に近いです。(対抗はC言語だけですが、C++はCプログラムもほぼコンパイルできます)しかし、ディスプレイがないようなコンピュータにも対応していることが最大の要因と思いますが、標準ではGUI開発に全く対応していません。

アプリのコア部をC++で開発し、GUI部をGUI開発が得意なツールで開発することが考えられるのですが、これが意外にたいへんです。私はC#でGUIを作り高速な応答性能が必要な部分をC++で開発したことがあります。これはこれで良いソリューションと思うのですが、Windows限定です。またC#とC++間のインタフェースが結構たいへんでした。

ですので、C++と相性の良いマルチ・プラットフォームなGUI開発ツールが欲しいです。

どの開発ツールがメジャーなのか?

私は3年ほど前に調べて当時はQtがベストと判断してQtを使っています。
では、今はどうなのか? Wikipediaのウィジェット・ツールキットにあるC/C++用のクロスプラットフォーム用ツールの内、stackoverflowでタグを見つけることができたものについて調べてみました。
結果は圧倒的にQtでした。Qtは歴史的(寿命の長い)なツールですので細々と問題を感じる場面もありますが、現時点では最強のツールのようです。本講座も「Qt編」としてQtを解説しようと思います。

開発ツール 質問数(1) Windows Linux Mac Android iOS
Qt 73,993
GTK(2) ‭10,270‬
wxWidgets 3,426
TK 1,984
FLTK 361
Juce 173
GLUI 24
FOX toolkit 3

(1)質問数は、stackoberflowの各言語タグの質問数(2020年3月1日)
(2)GTKはGTK2, GTK3の質問数も合算しています。

ターゲット・プラットフォーム

Qtはさまざまなプラットフォームに対応しています。全部を使って解説するのはそもそも不可能なのでどこまでやるのか結構悩みました。
困った時のシェアというとで、stackoverflowの質問数をチェックしてみました。
Androidはすごいですね。う~~ん、でもAndroid開発はかなり前に少しやったしただけなので当面は保留します。
次点のiOSは最近少し触ってますが無償の範囲では中途半端なのでやはり当面は保留します。
linuxをメインにした方が良さそうですが、実は私はlinuxでQtを使ったことがないので主にWindowsで解説し、マルチプラットフォームらしさを多少なりと掴めるようlinuxやMacで時々サンプルを動かしてみようと思います。

プラットフォーム 質問数(3)
android 1,261,930
ios 625,327
linux 187,053
windows 138,753
macos 98,065

(3)質問数は、stackoberflowの各言語タグの質問数(2020年4月4日)

投稿リスト

最近は本業が忙しくてなかなか時間が取れないため、概ね第一日曜日の夜に更新する予定です。

以下は、解説記事の日付順のリストです。(アイキャッチ付きの逆順リストはこちらです。)

最後にちょっと宣伝させて下さい。
セオライド テクノロジーでは高速・高生産性なC++の生産性を更に高める開発ツールTheolizer®を開発しています。時間を確保出来ずなかなかスムーズに開発が進んでいませんが、Theolizerを使って C#からC++のクラス情報をやり取りし、かつ、メンバ関数を呼び出せるような C# 連携機能も開発中です。ご期待下さい。

    TEL Theolizer® v1.2.0を公開しました https://github.com/yossi-tahara/Theolizer/

  • Facebook
  • Hatena
  • twitter
  • Google+
PAGETOP
Copyright © Theoride Technology Co.,Ltd. All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.