GTK+ logoLe applicazioni industriali sviluppate alla eNTiDi sono basate su una costellazione di librerie multipiattaforma comunemente accorpate sotto il nome GTK+. Multipiattaforma significa che i programmi sviluppati potranno essere compilati ed eseguiti su più sistemi operativi; a titolo di esempio, le librerie GTK+ funzionano correttamente su tutte le distribuzioni GNU/Linux e le varianti unix *BSD (FreeBSD, OpenBSD, NetBSD ecc...), su MacOS/X, OpenSolaris e Windows a 32 bit (ossia dalla versione 2000 in poi, che include XP, Vista e Windows 7). Le GTK+ sono alla base di noti programmi multipiattaforma di successo, quali il web browser firefox, il client di posta thunderbird, l'editor di grafica vettoriale inkscape e il programma di manipolazione immagini GIMP, da cui effettivamente la GTK+ è nata.

Language bindings

Quando possibile, le applicazioni vengono sviluppate in C puro usando la programmazione ad oggetti fornita dalla libreria GObject (programmare ad oggetti in C è possibile). Questo approccio lascia aperta la possibilità di riusare il codice scritto in C con altri linguaggi di programmazione implementando solo il software necessario al collegamento col nuovo linguaggio (ossia usando i cosiddetti bindings).

Recentemente è stato sviluppato il progetto GObject introspection che agevola la generazione automatica di bindings. Per esempio, i progetti PyGObject (per il linguaggio Python) e LGI (per il linguaggio Lua) forniscono bindings automatici a tutte le librerie che supportano correttamente GObject introspection.

Progetti esterni

Intorno a questo stack di sviluppo esiste una pletora di progetti più o meno maturi che possono essere usati per conseguire gli scopi più disparati. La seguente lista contiene i progetti principali che possono essere usati da programmi di automazione industriale (la descrizione è estratta dalle relative home pages).

GTK-Doc
GTK-Doc è un progetto sviluppato per generare la documentazione delle API dai commenti di codice in C. È usato in molte librerie basate su GTK+ e GNOME ma può essere usato anche per documentare il codice delle applicazioni.
libgda
Astrazione all'accesso dei dati. Può gestire dati registrati in databases e può essere usata da applicazioni non GNOME, dipende da GLib (e si integra con essa) e libXML.
GOffice
GOffice è una libreria che fornisce una serie di oggetti orientati ai documenti e programmi di utilità che si appoggiano a GLib e GTK+. Usata da software come Gnumeric.
LGob
LGob è un set di bindings per le librerie basate su GObject, come GTK+ and WebKitGtk, ed altre come cairo, per Lua. LGob è portabile ed ha un basso costo computazionale, funziona con librerie di differenti versioni ed è dotato di un generatore di codice automatico che può essere usato in altri progetti.
GStreamer
GStreamer è una libreria per la costruzione di grafi per la gestione componenti multimediali. Le applicazioni basate su di esso spaziano da semplici lettori audio e video Ogg/Vorbis a processori di audio (mixing) ed editor non lineari di filmati video.
GtkGlExt
GtkGLExt è un estensione OpenGL per GTK+. Fornisce oggetti GDK addizionali che supportano il rendering OpenGL e nuove API che abilitano questa nuova funzionalità all'interno dei widgets.
libmodbus
Protocollo Modbus per Linux (e OSX) scritto in C e che supporta la comunicazione RTU su linea seriale o su connessione TCP. Chiaro e veloce! Una libreria condivisa per trasmettere e ricevere dati da/a dispositivi ModBus che rispettano la sintassi definita dalla Modicon.

eNTiDi logoeNTiDi software
Software per l'automazione industriale

via fossato, 56
 25038 Rovato (BS)

Telefono: 366 3206501
E-mail: ntd@entidi.it
PEC: entidi@mlcert.it

 Partita IVA: 02909410983