Sto costruendo una GUI per un programma CL e ho la seguente domanda
È meglio
- Fai in modo che la GUI invochi il programma dietro le quinte usando una shell con alcune opzioni, ad esempio: Se fossi in fase di scrittura di un frontend git, avrei semplicemente fatto in modo che ogni clic del pulsante corrispondesse a un comando
git foo bar
eseguito nella sua shell - Oppure bypassa la CLI del programma e collegala direttamente al livello sottostante
Avvertenza: non ho creato l'app in questione, ma ho accesso alla fonte. Sto chiedendo se entrambi sono schemi di sviluppo accettabili e quali sono alcune cose di cui dovrei essere a conoscenza quando scelgo entrambi?
Comprendo che la programmazione sulla CLI fornisce un'interfaccia statica e non mutevole a cui posso programmare e che le interiora possono cambiare fintanto che l'interfaccia rimane la stessa, ma non si aggancia direttamente al codice sotto la CLI per consentire maggior portata del debug e messaggi di errore più ricchi?