GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Programm-Gui-Front-End und Cli-Funktionalität getrennt halten?

Unter Linux haben viele Programme eine CLI-Version und ein GUI-Frontend. Ich habe irgendwo gelesen, dass dies der Linux-Philosophie folgt und eine gute Praxis ist. Natürlich ist es aus Entwicklersicht richtig, den GUI-Code vom eigentlichen Programm zu trennen.

Bei einem Programm, das problemlos von der Befehlszeile aus verwendet werden kann, möchte ich eine GUI für die Befehlszeilenversion erstellen. Welche Möglichkeiten habe ich hier?

Mir fallen nur 2 ein, die der GUI-Entwickler verwenden würde.

  • Aufruf des Programms mit den konfigurierten Parametern wie folgt:

    system("irgendeinProgramm –Parameter1 -p2 -p3")

  • dass die CLI-Version im Servermodus mit Sockets (unix, inet, …) ausgeführt werden kann und diese Sockets zur Kommunikation mit dem „Server“ verwendet werden

Die sauberste Lösung wäre meiner Meinung nach die zweite, aber das ist nicht immer möglich, ohne die CLI-Version zu ändern.

Die eigentliche Frage ist, was der richtige Weg ist, sowohl eine CLI-Version als auch eine GUI-Version separat zu bauen?

Akzeptierte Antwort:

Ein anderer Ansatz besteht darin, Ihre Funktionalität als Bibliothek zu schreiben. Dann haben Sie eine GUI, die die Bibliothek verwendet; und eine CLI, die ebenfalls die Bibliothek verwendet. Abhängig von der Komplexität Ihrer Aufgabe kann dies die beste Lösung sein, da beide Programme unabhängig voneinander arbeiten können, ohne dass irgendeine Art von Interprozesskommunikation erforderlich ist.


Linux
  1. Führen Sie ein GUI-Programm beim Start aus?

  2. Individuelles Programm bearbeiten und neu kompilieren?

  3. Anzeigen von Systemkonsolenmeldungen in der GUI

  4. Was bedeuten %MEM und VSZ von oben?

  5. Wie bearbeite ich Systemdateien (als root) in der GUI (und CLI) in Gnu/Linux richtig?

Zeit – Ein GUI-Frontend für Crontab zum Planen von Jobs in Linux

So ermitteln Sie die Ubuntu-Version über die GUI und die Befehlszeile

Reduzieren Sie die Dateigröße von Images in Linux – CLI- und GUI-Methoden

Wie man ein C-Programm unter Linux schreibt und ausführt

So deaktivieren Sie WiFi auf einem Linux-System:GUI- und CLI-Methoden

So konvertieren Sie PDF in ein Bild in einem Linux-System (CLI- und GUI-Methode)