Nowości dla programistów
Poniższe zmiany są ważne dla osób korzystających z platformy programistycznej GNOME 2.30. Niezainteresowani czytelnicy mogą przejść dalej, do części Rozdział 6 ― Umiędzynaradawianie.
GNOME 2.30 to, obok środowiska GNOME, także wydanie platformy programistycznej GNOME ― zestawu bibliotek o stabilnych interfejsach programistycznych (API) oraz binarnych (ABI). Biblioteki te umożliwiają tworzenie oprogramowania dla wielu platform i są dostępne na licencji GNU LGPL.
W wydaniu GNOME 3.0 usunięte będą różne przestarzałe części platformy GNOME. Są to między innymi biblioteki GNOME, takie jak libart_lgpl, libbonobo, libbonoboui, libglade, libgnome, libgnomecanvas libgnomeprint, libgnomeprintui, libgnomeui oraz libgnomevfs. Dla programów środowiska GNOME przygotowano listę zadań mających na celu usunięcie odwołań do przestarzałego kodu. Pozwoli to zapewnić łagodne przejście na platformę GNOME 3.0.
Zachęcamy programistów do wykonania tego kroku także w ich własnych programach. Dla wszystkich programistów (także potencjalnych) na stronie wiki listy zadań GNOME przygotowaliśmy listę zadań do wykonania. Stan modułów obsługiwanych przez narzędzie JHBuild jest automatycznie śledzony i aktualizowany na tej stronie.
- 5.1. Sprzątanie platformy
- 5.2. GTK+ 2.20
- 5.3. Empathy
- 5.4. Anjuta
- 5.5. Usprawnienia platformy GNOME
5.1. Sprzątanie platformy
Podjęto poważne działania mające na celu usunięcie przestarzałych modułów i funkcjonalności na drodze do GNOME 3.0.
W wielu programach pozbyto się przestarzałych symboli bibliotek GTK+ i GLib oraz zastosowano nowe zasady, aby dołączać tylko pliki nagłówkowe bibliotek GTK+ i GLib najwyższego poziomu.
5.2. GTK+ 2.20
GTK+ 2.20 to najnowsze wydanie biblioteki GTK+, która stanowi serce platformy GNOME. Wersja GTK+ 2.20 zawiera nowe funkcje dla programistów oraz wiele poprawek błędów. W kodzie źródłowym rozpoczęto także przygotowania do nadchodzącej wersji GTK+ 3.0.
Biblioteka GTK+ zyskała także wiele innych ulepszeń:
- Dodano widżet pulsu, GtkSpinner oraz odpowiadający mu renderer komórek GtkCellRendererSpinner.
- GtkToolPalette jest nowym kontenerem, który potrafi wyświetlać ikony narzędzi w rozwijalny grupach.
- Kontrolka GtkNotebook może teraz wyświetlać widżety czynności obok kart.
5.3. Empathy
Biblioteki libempathy oraz libempathy-gtk zostały usunięte i programiści powinni korzystać teraz z biblioteki telepathy-glib.
5.4. Anjuta
Edytor Anjuta zawiera usprawnioną funkcję uzupełniania kodu źródłowego, w tym możliwość uzupełniania konstrukcji ., -> oraz :: w językach C i C++.
Uzupełnianie kodu odbywa się teraz w całości asynchronicznie i nie powinno mieć więcej wpływu na pisanie.
Edytor Anjuta obsługuje teraz zarządzanie symbolami Vala, obsługuje w pełni język JavaScript wraz z uzupełnianiem kodu, budowaniem i debugowaniem, a także zawiera podstawową obsługę projektów nieopartych o narzędzia automake.
5.5. Usprawnienia platformy GNOME
Inne ulepszenia platformy GNOME w GNOME 2.30:
- Programy Evolution oraz Evolution-Data-Server porzuciły obsługę biblioteki Bonobo w oczekiwaniu na GNOME 3.0. Program Evolution-Data-Server wykorzystuje obecnie usługę D-Bus, ukrytą pod tymi samymi interfejsami API.
- Program Brasero zawiera teraz obsługę instrospekcji GObject w bibliotekach libbrasero-media oraz libbrasero-burn.
- Lupa GNOME, program gnome-mag, obsługuje teraz usługę D-Bus, jako że wsparcie dla biblioteki Bonobo wychodzi z użycia.
- Program Devhelp został wyposażony w tryb pełnoekranowy oraz możliwość wyszukiwanie symboli w serwisie library.gnome.org, gdy nie są one dostępne lokalnie.
- Biblioteka GLib została wzbogacona o interfejs GConverter, służący do konwersji danych przesyłanych strumieniem. Obsługa wątków jest włączana automatycznie przy wywołaniu funkcji g_type_init().
- Usługa gnome-keyring implementuje nową usługę przechowywania haseł "Secret Service" poprzez interfejs API usługi D-Bus.