Popularna biblioteka do tworzenia GUI programów komputerowych wraca do nas z wersją numer cztery.
4 lata pracy nad GTK4
GTK 4.0 jest wynikiem ciężkiej pracy stosunkowo małego zespołu programistów. Od wydania 3.89.1 z listopada 2016 roku dodano ponad 18 000 commitów i ukazało się ponad 20 wydań tego oprogramowania. Pracowało nad nim 256 deweloperów (10 pracowników). Dodano 1 053 492 linii a usunięto 1 053 542 linie kodu co oznacza, że odchudzono kod o 50 linijek. O co więc tyle zachodu? :)
Niemożliwe jest podsumowanie 4 lat rozwoju w jednym wpisie. Najbardziej skrótowe wyliczenie obejmowałoby chyba transfery danych, kontrolery zdarzeń, menedżery układów, węzły renderowania, odtwarzanie multimediów, skalowalne listy, shadery, ułatwienia dostępu.
GTK 4 to więc kolosalne przedsięwzięcie, które rozpoczęło się w październiku 2016 roku i zakończyło w grudniu 2020 roku. Pierwotny plan zakładał rozpoczęcia od zmiany potoku renderowania GTK. Oczywiście chciano od samego początku ulepszyć także inne podsystemy, takie jak dane wejściowe i API systemu okienkowego, aby odejść od X11 w kierunku projektu bardziej zgodnego z wymaganiami Waylanda (i innych systemów okienkowych). W efekcie gruntownie przeprojektowano wewnętrzne elementy zestawu narzędzi. W 2017 roku skoncentrowano się na API, m.in. dodano nowe węzły renderujące i przeniesiono widgety do GtkSnapshot API. Wprowadzono także nowy interfejs API schowka. W 2018 roku projekt przeniósł się do GitLaba.
Dobra dobra, co ze starszymi wersjami?
GTK4 jest już stabilny ale czy to oznacza, że GTK3 przestanie być wspierany? Absolutnie nie. Deweloperzy GTK nadal będą go supportować i aktualizować w „dającej się przewidzieć” przyszłości. Nadmieńmy, że ostatnia wersja GTK3 wyszła parę dni temu (3.24.24). Ale uwaga – jeśli korzystasz ze starszego GTK2 to już masz się czym martwić. Ostatnie, finalne wydanie GTK2 zostało zapowiedziane na najbliższe dni. Potem jest już tylko echo – jeśli więc masz jakieś aplikacje napisane z wykorzystaniem GTK2 rozważ ich porting na GTK3 lub od razu na GTK4.
Dostępność GTK4
Paczki źródłowe są już naturalnie dostępne na stronie projektu. Pakiety binarne powinny wkrótce pojawić się w głównych dystrybucjach. Wydanie GNOME 40 będzie miało wiele aplikacji przeniesionych do GTK 4. Jeśli natomiast chcesz wypróbować GTK 4.0 już dzisiaj, możesz użyć nocnych kompilacji flatpak gtk4-demo i gtk4-widget-factory:
$ flatpak install https://nightly.gnome.org/repo/appstream/org.gtk.Demo4.flatpakref
$ flatpak run org.gtk.Demo4
Jeśli masz ochotę przenieść swoją aplikację do GTK 4 to czeka na Ciebie gotowy już przewodnik migracji stanowiący część dokumentacji GTK 4.
Sprawdź oferty pracy na TeamQuest
Co dalej?
Ma się pojawić szybkie wydanie 4.0.1, które naprawi przeoczenia i błędy, które wyjdą na jaw dopiero po wydaniu .0.
Teraz, gdy mamy już wydanie 4.0, deweloperzy GTK zajmą się ekosystemem bibliotek aby umożliwić aplikacjom korzystanie z niego. Nazwy takie jak vte, webkit czy gtksourceview to jedne z najbardziej znanych bibliotek, które są zwykle używane razem z GTK. Ich porty GTK 4 będą już wkrótce dostępne.
Jeśli pojawią się poważniejsze problemy, pojawi się szybko GNOME 40 w wersji 4.2, w przeciwnym razie na taką wersję poczekamy aż do lata.