Linux GUI開発
-
09-06-2019 - |
質問
Linux に移植したい大規模な GUI プロジェクトがあります。Linux での GUI プログラミングに利用するのに最も推奨されるフレームワークは何ですか?KDE / Gnome などのフレームワークはこの目的に使用できますか、それとも X 以外のより汎用的なものを使用する方がよいでしょうか?
Gnome か KDE のどちらかを選択すると、どちらかを選択した Linux 市場の一部の市場を閉ざしてしまうような気がします。(はい、重複があることは承知しています)
もっと良い方法はありますか?それとも、ほぼ 100% をカバーするには、完全な GUI アプリを 2 つ作成する必要がありますか?
Win32 でも動作するクロスプラットフォーム ソリューションを用意する必要はありません。
解決
最善の策は、次のようなクロスプラットフォームのウィジェット ライブラリに移植することです。 wxウィジェット, これにより、wxWidgets がサポートするあらゆるプラットフォームへの移植性が得られます。
Gnome ライブラリと GTK、同様に KDE ライブラリと Qt を区別することも重要です。GTK または Qt を使用するコードを作成した場合、XFCE のようなあまり一般的ではないデスクトップ環境を含む、あらゆるデスクトップ環境のユーザーにとって問題なく動作するはずです。他の Gnome または KDE 固有のライブラリを使用してウィジェット関連以外のタスクを実行する場合、デスクトップ環境間でのアプリの移植性が低くなります。
他のヒント
Gnome アプリは KDE デスクトップ上で動作し、その逆も同様です。誰も締め出すことはありません。ツールキットに関する限り、それはかなり主観的なものです。すべてのツールキットはかなりクロスプラットフォームです。オープンソースではない場合は、GTK+ の方が安価なオプションになります。Qt はオープンソースでのみ無料で使用できますが、GTK+ は LGPL であるためです。
Mono の使用を考えたことはありますか?Paint.NET のようなプログラムは、Linux および Windows でうまく動作します。