GNU/Linux >> Linux Esercitazione >  >> Linux

Tenere separati il ​​front-end della GUI e la funzionalità Cli del programma?

In Linux molti programmi hanno una versione CLI e un front-end GUI. Ho letto da qualche parte che questo segue la filosofia di Linux ed è una buona pratica. Ovviamente dal punto di vista degli sviluppatori è vero che il codice della GUI è separato dal programma vero e proprio.

Dato un programma, che può essere utilizzato felicemente dalla riga di comando, vorrei creare una GUI per la versione da riga di comando. Quali sono le mie opzioni qui?

Mi vengono in mente solo 2 che lo sviluppatore della GUI utilizzerebbe.

  • chiamando il programma con i parametri configurati in questo modo:

    sistema(“qualche programma –paramter1 -p2 -p3”)

  • avere la versione CLI in grado di funzionare in modalità server con socket (unix, inet, ...) e utilizzare quei socket per comunicare con il "server"

La soluzione più pulita sarebbe la seconda secondo me, ma ciò non è sempre possibile senza alterare la versione CLI.

La vera domanda è qual è il modo corretto per avere sia una versione cli che una versione GUI costruite separatamente?

Risposta accettata:

Un approccio diverso consiste nello scrivere la tua funzionalità come libreria. Quindi hai una GUI che utilizza la libreria; e una CLI che utilizza anche la libreria. A seconda della complessità del tuo compito, potrebbe essere la soluzione migliore, poiché entrambi i programmi potrebbero funzionare in modo indipendente senza la necessità di alcun tipo di comunicazione tra processi.


Linux
  1. Come controllare la versione del sistema operativo e di Linux

  2. Installa SoftHSM e accedi tramite il programma Java

  3. Come rilevare e scoprire che un programma è in stallo?

  4. Quali sono i programmi CLI standard per gestire utenti e gruppi?

  5. Come modificare correttamente i file di sistema (come root) nella GUI (e CLI) in Gnu/Linux?

Zeit:una GUI front-end per Crontab per pianificare i lavori in Linux

Come determinare la versione di Ubuntu tramite la GUI e la riga di comando

Riduci le dimensioni dei file delle immagini in Linux:metodi CLI e GUI

Come scrivere ed eseguire un programma C in Linux

Come disabilitare il WiFi su un sistema Linux:metodi GUI e CLI

Come convertire PDF in immagine nel sistema Linux (metodo CLI e GUI)