個別のプログラムGUIフロントエンドとCLI機能

個別のプログラムGUIフロントエンドとCLI機能

Linuxでは、多くのプログラムにCLIバージョンとGUIフロントエンドがあります。私はこれがLinuxの哲学に従い、良い習慣であることをどこかで読みました。もちろん、開発者の観点からは、GUIコードと実際のプログラムを分離するのが正しい。

コマンドラインで使いやすいプログラムがある場合は、コマンドラインバージョン用のGUIを作成したいと思います。ここで私のオプションは何ですか?

GUI開発者が使用するのは2つしか考えられません。

  • 次のように構成されたパラメーターを使用してプログラムを呼び出します。

    システム(「プログラム - パラメータ1 -p2 -p3」)

  • ソケット(unix、inet ...)を使用してCLIバージョンをサーバーモードで実行し、これらのソケットを使用して「サーバー」と通信できます。

私の考えでは、最もクリーンなソリューションは2番目のソリューションですが、CLIのバージョンを変更せずに常に可能なわけではありません。

実際の質問は、cliバージョンとGUIバージョンを別々に構築する正しい方法は何ですか?

ベストアンサー1

もう一つのアプローチは、機能をライブラリとして書くことです。その後、ライブラリを使用するGUIとライブラリも使用するCLIがあります。タスクの複雑さに応じて、両方のプログラムがプロセス間通信なしで独立して動作できるため、これが最善の解決策になる可能性があります。

おすすめ記事