GNU/Linux >> Tutoriels Linux >  >> Linux

Garder le programme Gui Front-end et la fonctionnalité Cli séparés ?

Sous Linux, de nombreux programmes ont une version CLI et une interface graphique. J'ai lu quelque part que cela suit la philosophie Linux et est une bonne pratique. Bien sûr, du point de vue des développeurs, il est vrai de garder le code de l'interface graphique séparé du programme réel.

Étant donné un programme, qui peut être utilisé avec bonheur à partir de la ligne de commande, je voudrais créer une interface graphique pour la version en ligne de commande. Quelles sont mes options ici ?

Je ne peux penser qu'à 2 que le développeur de l'interface graphique utiliserait.

  • appeler le programme avec les paramètres configurés comme suit :

    system("unprogramme –paramètre1 -p2 -p3")

  • avoir la version CLI capable de fonctionner en mode serveur avec des sockets (unix, inet, …) et utiliser ces sockets pour communiquer avec le "serveur"

La solution la plus propre serait la deuxième à mon avis, mais ce n'est pas toujours possible sans modifier la version CLI.

La vraie question est quelle est la bonne façon d'avoir à la fois une version cli et une version GUI construites séparément ?

Réponse acceptée :

Une approche différente consiste à écrire votre fonctionnalité sous forme de bibliothèque. Ensuite, vous avez une interface graphique qui utilise la bibliothèque ; et une CLI qui utilise également la bibliothèque. Selon la complexité de votre tâche, cela peut être la meilleure solution, car les deux programmes peuvent fonctionner indépendamment sans avoir besoin d'aucune sorte de communication inter-processus.


Linux
  1. Comment vérifier la version du système d'exploitation et de Linux

  2. Garder une trace des programmes ?

  3. Modifier et recompiler un programme individuel ?

  4. Positionnez les exécutables indépendants et Android

  5. Quel(s) est/sont le(s) programme(s) CLI standard pour gérer les utilisateurs et les groupes ?

Zeit - Une interface graphique à Crontab pour planifier des tâches sous Linux

Comment déterminer la version d'Ubuntu via l'interface graphique et la ligne de commande

Réduire la taille du fichier des images sous Linux - méthodes CLI et GUI

Comment écrire et exécuter un programme C sous Linux

Comment désactiver le Wi-Fi sur le système Linux :méthodes GUI et CLI

Comment convertir un PDF en image dans le système Linux (méthode CLI et GUI)