Novità per gli sviluppatori
La piattaforma di sviluppo GNOME 2.12 fornisce una base stabile per gli sviluppatori di software di terze parti e per il desktop GNOME stesso. GNOME 2.12 aggiunge alcuni miglioramenti visibili per l'utente e alle API, mantenendo al contempo la compatibilità all'indietro e la stabilità delle API. Inoltre rende più facile lo sviluppo di applicazioni che girano su Unix e Windows ed usa standard importanti per interoperare con altri desktop.
- 3.1. Miglioramenti alle GTK+
- 3.2. Multi-piattaforma
- 3.3. Conformità agli standard
3.1. Miglioramenti alle GTK+
In GNOME 2.12 GTK+ 2.8 fornisce alcune interessanti caratteristiche visibili dall'utente, come
- GTK+ adesso utilizza la API di disegno Cairo del freedesktop, che rendono più facile il disegno di widget personalizzati e permettono nuovi effetti. Nel prossimo futuro questo dovrebbe permettere a GNOME di usare nuovi effetti grafici e avvantaggiarsi dell'accelerazione hardware, così come di migliorare le API di stampa.
- La gestione del drag drop
In aggiunta a questi cambiamenti, che tutte le applicazioni basate su GTK possono usare senza bisogno di ricompilarle, sono state aggiunte parecchie nuove API per rendere lo sviluppo ancora più facile. Queste includono:
- GtkFileChooser adesso può mostrare una finestra di conferma della sovrascrittura di un file quando in modalità salvataggio.
- GtkWindow può avere un hint di urgenza, istruendo così il gestore delle finestre, per esempio, a far lampeggiare il titolo della finestra.
- GtkIconView adesso implementa l'interfaccia GtkLayout e può rappresentare gli elementi per mezzo di GtkCellRendererCells.
- GtkTextView adesso permette di impostare un colore di sfondo per i paragrafi e si può adesso saltare il testo non visibile durante l'iterazione.
- GtkScrolledWindow contiene funzioni per ottenere le barre di scorrimento.
- GtkMenu adesso supporta i menù verticali (ruotati) e può ignorare l'attivazione da tastiera, per applicazioni speciali come la tastiera a schermo.
- Il menù a comparsa di GtkEntryCompletion adesso può essere più ampio del campo di inserimento stesso e può anche essere evitato quando c'è una sola corrispondenza disponibile.
- Il testo della licenza in GtkAboutDialog adesso supporta il ritorno a capo automatico.
- GtkToolButton adesso può usare le icone con nome dai temi delle icone e inoltre queste icone possono essere usate durante il trascinamento.
- GtkSizeGroup può ignorare i widget invisibili.
Vedere anche l'elenco completo delle nuove API in GTK+ 2.8.
3.2. Multi-piattaforma
La libreria GTK+ è già popolare presso gli sviluppatori che hanno bisogno di supportare più di una piattaforma, incluse Microsoft Windows così come Linux e UNIX. Per esempio gli artisti possono modificare le loro immagini usando GIMP e Inkscape sia su Linux che su Windows.
Inoltre ora è anche possibile compilare su Microsoft Windows molte altre librerie di GNOME, incluse ORBit2, libbonobo, libgnome, libbonoboui, libgnomeui e gnome-vfs, rendendo più facile compilare e distribuire applicazioni GNOME su quella piattaforma. Nonostante questo supporto non sia ancora completo, può essere sufficiente per alcune applicazioni e ci si aspetta di completarlo nella prossima versione di GTK+ e GNOME.
3.3. Conformità agli standard
GNOME lavora strettamente con gruppi come freedesktop.org. Il supporto agli standard è un grande valore aggiunto per gli sviluppatori e gli utenti GNOME. Il supporto dell'interoperabilità migliora l'esperienza utente permettendo a GNOME, KDE e altre applicazioni di lavorare insieme più facilmente, inoltre seguendo delle specifiche aperte assicura che i dati dell'utente non siano intrappolati in formati proprietari.
Gli sviluppatori GNOME stanno lavorando duramente con altri membri della comunità del software libero per mezzo di Freedesktop.org nello sviluppo di standard che permettano l'interoperabilità. Questi standard includono le specifiche del database MIME condiviso, dei temi delle icone, dei file recenti, dei menù, degli elementi del desktop, delal gestione delle miniature e del vassoio di sistema. In aggiunta, GNOME supporta CORBA, XML, Xdnd, EWMH, XEMBED, XSETTINGS e XSMP.