Interfacce grafiche
Moderatori:
Paolino,
fairyvilje
6 messaggi
• Pagina 1 di 1
0
voti
Ciao a tutti, ormai da tempo programmo in java, potrebbe essere una buona esperienza programmare un'interfaccia grafica in C con le GTK?
-

daniele1996
610 3 8 11 - Sostenitore

- Messaggi: 1554
- Iscritto il: 29 ago 2011, 11:29
1
voti
Secondo me GTK no, ma chiaramente dipende da una serie di fattori. Penso che GTK abbia il suo principale e quasi unico punto di forza nella leggerezza degli applicativi generati; il prezzo è che quanto a widgets e flessibilità non è il meglio che si possa avere.
Il problema di questi ambienti è che vengono continuamente introdotti cambiamenti anche infinitesimi ma che per questo si dimenticano di documentare e puntualmente google difficilmente li scova (ormai è sempre più invasivo e limita sempre di più le opzioni di ricerca). Non solo ma si danno per scontate tante cose che utenti non evoluti come me non sanno e devono trovare da soli. Esempio tipico, cmake che non va e solo poi, alla terza pagina google, si scopre che il problema l'ha avuto qualcun altro e in diversi casi si devono mettere le mani sui file .h. Ecco questa per me è una cosa che fa tremare le vene e i polsi perché, sempre per quanto mi riguarda, uno degli assiomi è non toccare una virgola dei sorgenti come arrivano; se non riescono i vari config e automake lascio stare e provo la libreria successiva. Se ricordo bene, con GTK dovetti alla fine scaricare i precompilati, cosa che non mi piace.
Come alternativa suggerirei di considerare WxWidgets; è un ambiente completo, fa quasi tutto e almeno da me ha compilato al primo tentativo con soli 3-4 warning. Potente, flessibile e per forza di cose ha sviluppato classi per compiti accessori come gestione dei files e periferiche, e tanto tanto altro. Un software che non debba fare cose particolari potrebbe forse non necessitare di altre librerie. L'unica è che è un progetto un po' datato, il libro reference è di oltre 10 anni fa ma devo dire che per il 95% ancora è valido alla luce degli sviluppi attuali. Inoltre i binari sono veloci, dato che non è un sistema interpretato.
Resta Python ma dato che mi trovo malissimo con l'indentazione obbligata e la sintassi, non potrei dirne molto. E infine saprai che stanno emergendo linguaggi che eseguono direttamente javascript, di fatto si finisce con il creare programmi la cui interfaccia si appoggia al browser ma credo tu conosca tutto questo molto meglio di me.
Il problema di questi ambienti è che vengono continuamente introdotti cambiamenti anche infinitesimi ma che per questo si dimenticano di documentare e puntualmente google difficilmente li scova (ormai è sempre più invasivo e limita sempre di più le opzioni di ricerca). Non solo ma si danno per scontate tante cose che utenti non evoluti come me non sanno e devono trovare da soli. Esempio tipico, cmake che non va e solo poi, alla terza pagina google, si scopre che il problema l'ha avuto qualcun altro e in diversi casi si devono mettere le mani sui file .h. Ecco questa per me è una cosa che fa tremare le vene e i polsi perché, sempre per quanto mi riguarda, uno degli assiomi è non toccare una virgola dei sorgenti come arrivano; se non riescono i vari config e automake lascio stare e provo la libreria successiva. Se ricordo bene, con GTK dovetti alla fine scaricare i precompilati, cosa che non mi piace.
Come alternativa suggerirei di considerare WxWidgets; è un ambiente completo, fa quasi tutto e almeno da me ha compilato al primo tentativo con soli 3-4 warning. Potente, flessibile e per forza di cose ha sviluppato classi per compiti accessori come gestione dei files e periferiche, e tanto tanto altro. Un software che non debba fare cose particolari potrebbe forse non necessitare di altre librerie. L'unica è che è un progetto un po' datato, il libro reference è di oltre 10 anni fa ma devo dire che per il 95% ancora è valido alla luce degli sviluppi attuali. Inoltre i binari sono veloci, dato che non è un sistema interpretato.
Resta Python ma dato che mi trovo malissimo con l'indentazione obbligata e la sintassi, non potrei dirne molto. E infine saprai che stanno emergendo linguaggi che eseguono direttamente javascript, di fatto si finisce con il creare programmi la cui interfaccia si appoggia al browser ma credo tu conosca tutto questo molto meglio di me.
1
voti
Io preferisco le QT.
Con python si possono usare sia le QT che le GTK che WxWidgets.
L'indentazione obbligatoria ti costringe a programmare bene, dopodiché un buon editor che te la fa in automatico e passa la paura ;)
Con python si possono usare sia le QT che le GTK che WxWidgets.
L'indentazione obbligatoria ti costringe a programmare bene, dopodiché un buon editor che te la fa in automatico e passa la paura ;)
0
voti
Allora dando una guardata sul mio libro e su internet, non mi pare tanto semplice generare un'interfaccia... Ho avuto la brillante idea di far comunicare il software scritto in C con un un altro scritto in java... Quindi abbatto già in partenza le difficoltà di realizzazione dell'interfaccia grafica che se voglio posso anche chiudere visto che sarebbe tipo un "demone" che lavora principalmente su un'interfaccia hardware...
Oppure sarebbe anche una buona idea fare le interfaccie grafiche sfruttando un browser... C'è da dire che già una volta ho avuto modo di programmare un web server, certo scritto in java ma funzionava... Oltre tutto considerato che sto avendo qualche problemino con la porta seriale che mi ha costretto ad usare java potrei integrare in esso l'interfaccia web...
Oppure sarebbe anche una buona idea fare le interfaccie grafiche sfruttando un browser... C'è da dire che già una volta ho avuto modo di programmare un web server, certo scritto in java ma funzionava... Oltre tutto considerato che sto avendo qualche problemino con la porta seriale che mi ha costretto ad usare java potrei integrare in esso l'interfaccia web...
-

daniele1996
610 3 8 11 - Sostenitore

- Messaggi: 1554
- Iscritto il: 29 ago 2011, 11:29
0
voti
Vero, ci sono anche i curses...
Ormai sto lavorando al programma da poco più di una settimana ed ho ho optato per un'interfaccia web; in pratica ho creato un minuscolo webserver che permette di prelevare ed impostare i dati interessati passando i parametri tramite il metodo GET, per quanto riguarda la grafica richiamerò da PHP le varie pagine del micro server...
Devo dire che non è stato difficile... Ancora devo sistemare alcune piccolezze tipo i buffer ma tutto sommato è funzionante... ho fatto tutto con un thread e ho gestito gli eventuali errori interrompendo il thread e riavviandolo... Però ho pensato che potrebbe tornare utile avviare più di un thread in modo da poter gestire simultaneamente più di una richiesta...
Ormai sto lavorando al programma da poco più di una settimana ed ho ho optato per un'interfaccia web; in pratica ho creato un minuscolo webserver che permette di prelevare ed impostare i dati interessati passando i parametri tramite il metodo GET, per quanto riguarda la grafica richiamerò da PHP le varie pagine del micro server...
Devo dire che non è stato difficile... Ancora devo sistemare alcune piccolezze tipo i buffer ma tutto sommato è funzionante... ho fatto tutto con un thread e ho gestito gli eventuali errori interrompendo il thread e riavviandolo... Però ho pensato che potrebbe tornare utile avviare più di un thread in modo da poter gestire simultaneamente più di una richiesta...
-

daniele1996
610 3 8 11 - Sostenitore

- Messaggi: 1554
- Iscritto il: 29 ago 2011, 11:29
6 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 9 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


