Co je nového pro vývojáře
Následující změny jsou důležité pro vývojáře, kteří používají vývojovou platformu GNOME 2.28. Pokud vás tyto informace nezajímají, můžete přeskočit rovnou na Oddíl 6 ― Internacionalizace.
Vydání GNOME 2.28 přináší kromě nové verze pracovního prostředí i novou verzi GNOME coby vývojové platformy, sady stabilních knihoven API a ABI dostupných za podmínek licence GNU LGPL, které mohou být využity k tvorbě aplikací fungujících napříč platformami.
V blížícím se vydání GNOME 3.0 budou odstraněny různé zastaralé součásti GNOME. Mezi ně patří i některé specifické komponenty GNOME jako libart_lgpl, libbonobo, libbonoboui, libglade, libgnome, libcanavas, libgnomeprint, libgnomeprintui, libgnomeui a libgnomevfs. K aplikacím dodávaným spolu s GNOME byly vytvořeny úkoly s cílem úklidu za výše uvedenými součástmi. Čímž se nakonec zajistí, že nebude používán žádný zastaralý kód a že se otevře cesta ke snadnému přechodu na GNOME 3.0.
Vývojářům se důrazně doporučuje následovat tento příklad ve vlastních aplikacích. Mimoto pro všechny vývojáře (nebo potenciální vývojáře), kteří by nám chtěli pomoci, vznikla stránka GNOME Goals se seznamem různých úkolů, které ještě nebyly dokončeny. Automaticky sestavovaný přehled zbývající práce na modulech podporovaných nástrojem jhbuild naleznete na této stránce.
- 5.1. Úklid platformy
- 5.2. GTK+ 2.18
- 5.3. GLib
- 5.4. Dokumentace GNOME
- 5.5. Bluetooth GNOME
- 5.6. Prohlížeč WWW Epiphany
- 5.7. Applet měřiče času
- 5.8. Multimediální systém GNOME
- 5.9. Totem
- 5.10. Vinagre
- 5.11. Brasero
5.1. Úklid platformy
Velká pozornost na cestě ke GNOME 3.0 byla věnována odstranění zastaralých modulů a vlastností.
V GNOME 2.28 se již nenacházejí žádné aplikace závislé na knihovnách esound, libgnomevfs, libgnomeprint a libgnomeprintui.
Další vylepšení platformy GNOME ve vydání 2.28 zahrnují:
- Závislost na knihovně libart_lgpl byla odstraněna u dvou modulů (eog a gtkhtml).
- Závislost na knihovně libbonobo(ui) byla odstraněna u pěti modulů (gnome-control-center, gcalctool, gnome-media, gtkhtml a accerciser).
- Závislost na knihovně libglade byla odstraněna u 28 modulů (accerciser, alacarte, gnome-control-center, dasher, empathy, gcalctool, gnome-games, gnome-netstatus, gnome-nettool, gnome-mag, gnome-menus, gnome-panel, gnome-power-manager, gnome-screensaver, gnome-session, gnome-settings-daemon, gnome-system-tools, gnome-utils, gtkhtml, hamster-applet, libgnomekbd, orca, pessulus, seahorse, vino, vinagre, yelp a zenity).
- Závislost na knihovně libgnome byla odstraněna u 14 modulů (anjuta, gnome-control-center, dasher, evolution-webcal, gconf, gdl, gdm, gnome-desktop, gnome-media, gnome-system-tools, gok, gtkhtml, vino a yelp).
- Závislost na knihovně libgnomecanvas byla odstraněna u tří modulů (anjuta, gtkhtml a zenity).
- Závislost na knihovně libgnomeprint(ui) byla odstraněna u jednoho modulu (gnome-games).
- Závislost na knihovně libgnomeui byla odstraněna u 16 modulů (anjuta, gnome-control-center, dasher, deskbar-applet, gnome-mag, gnome-media, gnome-settings-daemon, gnome-system-tools, gnome-utils, gok, gtkhtml, hamster-applet, nautilus, orca, vino a yelp).
- Závislost na knihovně libgnomevfs byla odstraněna u tří modulů (dasher, gnome-mag a gnome-utils).
- Mnoho modulů nyní poskytuje hezčí a čistší výstup při kompilaci díky použití AM_SILENT_RULES nebo Shave. Více informací naleznete na stránce http://live.gnome.org/GnomeGoals/NicerBuilds.
- Několik modulů začalo používat GIntrospection — více informací popisuje stránka http://live.gnome.org/GnomeGoals/AddGObjectIntrospectionSupport.
Mnoho aplikací odstranilo používání zastaralých symbolů GTK+ a GLib, a také aplikovalo nová pravidla v začleňování pouze hlavičkových souborů GTK+ a GLib nejvyšší úrovně.
5.2. GTK+ 2.18
GTK+ 2.18 je nejnovějším vydáním sady nástrojů GTK+, která je srdcem GNOME. GTK+ 2.18 obsahuje několik nových funkcí pro vývojáře, a dále přichází s výrazným pročištěním a opravami mnoha chyb před nadcházejícím vydáním GTK+ 3.0.
Bylo také vylepšeno okno výběru souborů. Nově si pamatuje stav řazení položek a výchozí nastavení je lépe odladěno, například záložní soubory jsou skryté a naopak je zobrazován sloupec udávající velikost. Vylepšení se dočkala též lišta s cestou.
GTK+ přináší ještě řadu dalších změn, jako například:
- Widgety GtkEntry mohou nově obsahovat ukazatel průběhu.
- GtkEntry je nyní rozděleno dle zásad model-view.
- GtkLabel dokáže zobrazovat vloženou adresu URI.
- Tisk podporuje tištění výběru.
- Ovládací prvky vlastností stránky mohou být vloženy do okna tisku.
- Stavové ikoně přibyla možnost vložení titulku s cílem zlepšit přístupnost.
- Byl přidán nový widget GtkInfoBar, který slouží k zobrazování zpráv v okně hlavním namísto dialogového.
- GTK lze kompilovat se současnou verzí automake (nadále již není potřeba automake 1.7) a v tichém režimu pomocí příkazu „make V=0“.
5.3. GLib
Knihovna GNIO byla začleněna do GIO, API nyní umožňuje pracovat jak s adresami IPv4, tak IPv6, zjišťovat hostitele, vyhledávat reverzní záznamy IP adres, podporuje nízkoúrovňové V/V operace se sockety a pracuje se síťovými spojeními a službami.
U tříd GArray, GMappedFile a GTree jsou nyní počítány reference (reference counting).
V hlavní smyčce je nyní možné nastavit výchozí kontexty k jednotlivým vláknům.
Pro GIOStream a podtřídy byla přidána podpora přístupu s čtením a zápisem.
Knihovna GLib nyní zahrnuje podporu metadat jednotlivých souborů.
5.4. Dokumentace GNOME
Do aplikací Yelp a gnome-doc-utils byla přidána podpora Mallard, nového jazyka XML pro dokumentaci GNOME.
Pro autory dokumentace je Mallard plně vybaveným značkovacím jazykem XML, který byl navržen s cílem nápovědu koncipovat dle témat a úkonů a který se učí lépe než DocBook.
Nápověda aplikace Empathy je první dokumentací GNOME napsanou v jazyce Mallard, a také první dokumentací uvolněnou za podmínek licence Creative Commons Share-Alike 3.0, jejíž budoucí použití se plánuje napříč celou dokumentací GNOME.
5.5. Bluetooth GNOME
Nový systém zásuvných modulů, který je dostupný během nastavování zařízení, umožňuje používat v aplikacích GNOME zařízení Bluetooth.
Aby bylo se zařízeními Bluetooth možno pracovat, byly přidány nové widgety, včetně tlačítka a výběru.
5.6. Prohlížeč WWW Epiphany
Se změnou jádra aplikace Epiphany na WebKit souvisí mnoho vylepšení pro vývojáře.
WebKitGTK+ obsahuje extrémně rychlé zpracování jazyka JavaScript, menší náročnost, API GObject a vestavěnou kontrolu WWW. Epiphany také nově obsahuje podporu rozšíření Seed (JavaScript) a spolu s tím byla odstraněna podpora jazyka Python.
Epiphany využívá knihovnu libsoap k implementaci HTTP, proxy nyní pracuje stejným způsobem napříč celým prostředím GNOME. V knihovně libsoup chybějí funkce vyrovnávací paměti HTTP a kódování obsahu.
Také kontextová nabídka nebyla prozatím upravena pro potřeby Epiphany, protože je využíváno výchozí zobrazení jádra WebKit.
5.8. Multimediální systém GNOME
Z Multimediálního systému GNOME byla odstraněna podpora vumeter, CDDB a GNOME-CD.
5.9. Totem
Z aplikace Totem byla odstraněna podpora jádra xine-lib, přidána byla podpora asynchronní analýzy API.