Linuxでは、多くのプログラムにCLIバージョンとGUIフロントエンドがあります。これはLinuxの哲学に従っており、良い習慣であるとどこかで読んだ。もちろん、開発者の観点からは、GUIコードを実際のプログラムから分離しておくことは事実です。
コマンドラインから楽しく使えるプログラムを考えれば、コマンドラインバージョンのGUIを作りたいと思います。ここでの私の選択肢は何ですか?
GUI開発者が使用するのは2つだけだと思います。
-
次のように構成されたパラメーターを使用してプログラムを呼び出す:
system(“ someprogram –paramter1 -p2 -p3”)
-
CLIバージョンをソケット(unix、inet、…)を使用してサーバーモードで実行できるようにし、それらのソケットを使用して「サーバー」と通信できるようにする
私の意見では、最もクリーンなソリューションは2番目ですが、CLIのバージョンを変更しないとこれが常に可能であるとは限りません。
実際の質問は、CLIバージョンとGUIバージョンの両方を別々にビルドする適切な方法は何ですか?
承認された回答:
別のアプローチは、機能をライブラリとして作成することです。次に、ライブラリを使用するGUIがあります。また、ライブラリを使用するCLIもあります。タスクの複雑さに応じて、最適なソリューションになる可能性があります。どちらのプログラムも、プロセス間通信を一切必要とせずに独立して動作する可能性があるためです。