Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente bannato
    Registrato dal
    Dec 2003
    Messaggi
    562

    Portabilità del codice Win/Linux

    Mi chiedevo se utilizzando il linguaggio c++ e le librerie GTK+ è possibile realizzare del codice che vada un po' più in la di un "Hello World" e che sia portabile da Windows a Linux.
    In poche parole che basti compilarlo sotto Windows o sotto Linux senza cambiare una riga di codice.

  2. #2
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Non ho mai utilizzato le GTK sotto winz, ma *credo* che le funzioni delle gtk siano le stesse...
    Il problema c'e' pero' sicuramente su funzioni di piu' basso livello... Se vuoi usare i thread, creare piu' processi, utilizzare le socket, richiamare altri programmi, manipolare a basso livello files e directori, ..., ..., ... dovrai per forza ritoccare il codice in quanto tali funzioni sono diverse per i due sistemi... Inoltre sotto Linux (e gli unix-like in generale) ogni file e directory ha i permessi di lettura, scrittura ed esecuzione, cosa che non e' presente sui sistemi m$, sotto gli unix gli utenti sono gestiti in maniera diversa, molto piu' stretta ed esistono i gruppi e cosi' via...

    Credo quindi che se vuoi fare qualcosa piu' di un programma che apra una finestrella con qualche scritta e bottone dovrai sbatterti un po' per portarlo sui due sistemi...



    PS: Ma le GTK sui sistemi m$ sono preinstallate o e' necessario scaricarle per eseguire un programma che le usa?
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  3. #3
    Utente bannato
    Registrato dal
    Dec 2003
    Messaggi
    562
    Originariamente inviato da /dev/null


    PS: Ma le GTK sui sistemi m$ sono preinstallate o e' necessario scaricarle per eseguire un programma che le usa?
    Bisogna installarle, ma non è un problema sono gratuite e... belle. Inoltre sono abbastanza facili da usare.

    Comunque, effettivamente sarebbe un lavoraccio portare lo stesso software su entrambi i sistemi.

    Un'alternativa sarebbe java ma non mi è mai andato troppo a geneio... Un'altra alternativa sarà rappresentata da mono (l'implementazione di .net per Windows e Linux) ma è ancora presto.

  4. #4
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Considera anche la libreria wxWidgets (www.wxWidgets.org), io la preferisco perchè dà alle interfacce grafiche lo stile del sistema operativo su cui gira il programma, mentre con le gkt anche su windows viene mantenuto lo stile di linux; inoltre wxWidgets mette a disposizione anche delle classi aggiuntive come quelle sui socket e quelle sui thread, cosi utilizzando le sue classi il programma non perde la portabilita,



  5. #5
    Utente bannato
    Registrato dal
    Dec 2003
    Messaggi
    562
    Originariamente inviato da anx721
    Considera anche la libreria wxWidgets (www.wxWidgets.org), io la preferisco perchè dà alle interfacce grafiche lo stile del sistema operativo su cui gira il programma, mentre con le gkt anche su windows viene mantenuto lo stile di linux; inoltre wxWidgets mette a disposizione anche delle classi aggiuntive come quelle sui socket e quelle sui thread, cosi utilizzando le sue classi il programma non perde la portabilita,



    Le prenderò in considerazione...
    Grazie

  6. #6
    Utente bannato
    Registrato dal
    Dec 2003
    Messaggi
    562
    Anche GTK+ mette a disposizione molte classi aggiuntive per esempio ache per socket.

    Credo inoltre che sia alla fine sia meglio che un'applicazione mantenga la stessa interfaccia grafica sia in SO che in un'altro in maniera tale da non creare un impatto negativo su un'eventuale utente che decida di cambiare so. Un esempio sono Mozilla e Gimp.

    Credo proprio che mi farò un m... così e che ci proverò con le GTK+.


    Grazie per lo scambio di opinioni

  7. #7
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Originariamente inviato da web@web
    Le prenderò in considerazione...
    Grazie
    Se sei interessato e hai banda per scaricare, puoi scaricarti MinGWDevelopperStudio, un editor freeware per c/c++, che nella versione completa (di 62 MB) include le librerie wxWidgets già integrate (quindi non c'è bisogno di scaricare sorgenti e compilarli integrandoli nel compilatore); il sito è: http://www.parinya.ca/


  8. #8
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Originariamente inviato da web@web
    Credo inoltre che sia alla fine sia meglio che un'applicazione mantenga la stessa interfaccia grafica sia in SO che in un'altro in maniera tale da non creare un impatto negativo su un'eventuale utente che decida di cambiare so
    Il fatto di riprodurre lo stile del sistema ospite è considerato come un pregio non come un difetto di una libreria grafica, non a caso viene ben messo in evidenza questa caratteristica, e non sono tante le librerie che la mettono a disposizione. Questa caratteristica è tuttaltro che negativa dal punto di vista dell'usabilità dell'interfaccia; quello che fa wxWidgets non è di cambiare l'interfaccia da un sistema all'altro, ma di cambiare lo 'stile' dei componenti grafici secondo lo stile nativo del sistema operativo su cui gira: questo sinifica che tutti i componenti grafici avranno l'aspetto e il comportamento 'solito' e 'usuale' con cui sono abituati gli utenti che usano quel sitema operativo; se compili il programma per windows lo compili per farlo usare agli utenti di windows; se lo compili per linux lo compili per farlo usare agli utenti di linux; per questo questa caratteristica semmai aumenta l'usabilità delle interfacce costruite,


  9. #9
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Scrivere il programma in Java non credo sia una buona idea: sulle macchine che lo eseguono dev'essere installata la JVM, inoltre l'applicazione risultera' piu' pesa e potrai effettuare meno operazioni di basso livello...
    Credo anch'io che sia meglio mantenere lo stesso "tema" grafico per un programma e non adeguarlo al SO...
    Per usare mono i tempi sono ancora prematuri

    Io quindi rimarrei sulle GTK, soprattutto se offrono funzioni per lavorare con i sockets ed altre robe simili...
    Codice aggiuntivo penso che ci sara' sempre... Ma potresti sbrigartela molto alla svelta utilizzando delle macro... Ad esempio guarda questo thread: http://forum.html.it/forum/showthrea...ghlight=socket

    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  10. #10
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Originariamente inviato da anx721
    Il fatto di riprodurre lo stile del sistema ospite è considerato come un pregio non come un difetto di una libreria grafica, non a caso viene ben messo in evidenza questa caratteristica, e non sono tante le librerie che la mettono a disposizione. Questa caratteristica è tuttaltro che negativa dal punto di vista dell'usabilità dell'interfaccia; quello che fa wxWidgets non è di cambiare l'interfaccia da un sistema all'altro, ma di cambiare lo 'stile' dei componenti grafici secondo lo stile nativo del sistema operativo su cui gira: questo sinifica che tutti i componenti grafici avranno l'aspetto e il comportamento 'solito' e 'usuale' con cui sono abituati gli utenti che usano quel sitema operativo; per questo questa caratteristica semmai aumenta l'usabilità delle interfacce costruite,

    Per qualcuno potrebbe venir considerato un pregio...
    Pero' secondo me se un utonto tonto impara ad utilizzare un programma con la grafica di win, e poi se lo trova davanti completamente diverso nell'aspetto per quanto riguarda icone, colori etc, perde un po' di tempo per rischiarirsi le idee...
    Per mio padre ad esempio e' cosi': una volta cambiai il set di icone e non riusciva piu' a trovare Mozilla
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.