GTK+ 3.x

Wszystko Off Topic
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

GTK+ 3.x

Post autor: grzesiek »

Nowa wersja zapowiadała rewelacyjny design, według zapowiedzi ma być wydana w tym roku - 2009.
Analizując postęp prac trudno uwierzyć, że GTK+ 3.x nas zauroczy w tym roku, ale zobaczymy.
Oto krótka charakterystyka tego co ma się wydarzyć na pulpitach zwolenników środowiska GNOME.

GTK+ 3.x ma przynieść radykalne zmiany, co za tym idzie utrzymanie kompatybilnego API/ABI nie będzie możliwe. Ostatnimi czasy duży wkład w rozwój biblioteki GTK+ wkłada firma Imendio AB http://www.imendio.com/ poza RedHat i Novell. Z zapowiadanych nowości głównie na GTK + Hackfest w Berlinie 2008 http://live.gnome.org/GTK%2B/Hackfest2008 można wymienić:

Całkowicie nowe rozwiązanie dotyczące opisywania wyglądu kontrolek (ang. theme). Zakłada się, iż wygląd będzie opisywany za pomocą właściwości CSS http://live.gnome.org/GTK%2B/NewThemeApi/Proposals/CSS
Przykładowy nowy themes:
http://arstechnica.com/articles/culture ... 170208.png

Kolejną nowością i chyba tą, która najbardziej ucieszy użytkowników pulpitu GNOME będą nowe animacje. Po tym jak compiz przeniusł pulpit w trzeci wymiar nadchodzi czas na kontrolki GTK+. Stanie się to możliwe dzięki integracji OpenGL z GTK+. Przykłady wizualnych efektów:
http://arstechnica.com/articles/culture ... ples-1.png
http://pl.youtube.com/watch?v=dCAvtaeWwmU

Będzie to możliwe dzięki wykorzystaniu biblioteki Clutter http://www.clutter-project.org/ rozwijanej przez firmę OpenedHand Ltd http://o-hand.com/ , którą niedawno wykupił Intel.
Prezentacja ujmująca integrację biblioteki Clutter z GTK+:
http://docs.google.com/Present?docid=dg ... 50dw7wh6vt
Tutorial do biblioteki Clutter:
http://www.openismus.com/documents/clut ... index.html
W repozytoriach Debiana jest już ta biblioteka, obecnie w wersji 0.8. OpenedHand udostępnia też inne repozytoria:

Kod: Zaznacz cały

deb [url]http://debian.o-hand.com[/url] etch/
deb [url]http://debian.o-hand.com[/url] unstable/

deb [url]http://debian.o-hand.com[/url] edgy/
deb [url]http://debian.o-hand.com[/url] feisty/
deb [url]http://debian.o-hand.com[/url] gutsy/
deb [url]http://debian.o-hand.com[/url] hardy/
Kompilacja przykładowych programów z examples wygląda następująco:

Kod: Zaznacz cały

gcc -Wall -g  simple.c -o test `pkg-config --cflags --libs gtk+-2.0 clutter-gtk-0.8`
Niektóre przykłady mogą się poprawnie nie kompilować, a niektóre potrafią przywiesić system, na szczęście nie ostatecznie.
Pod adresem https://svn.o-hand.com/repos/clutter/trunk/toys znajdują się przykładowe programy, niestety większość z nich była pisana pod Clutter 0.6 co powoduje pewne problemy przy kompilacji z obecną wersją Clutter 0.8.

Podobnie jak w przypadku skórek pojawi się zupełnie nowe rozwiązanie dotyczące rysowania w programach GTK+. Będzie to GtkCanvas. Ma ulepszyć i zintegrować w sobie działania polegające na rysowaniu na tzw. płótnie np. tle okna.

Ulepszona integracja z innymi systemami operacyjnymi ma polepszyć funkcjonowanie najpopularniejszych programów napisanych w GTK+ na innych systemach, zwłaszcza pod Windows i Mac OS X.

Zmianie mają ulec wewnętrzne mechanizmy obiektowe GTK+. Celami tych zmian jest przystosowanie biblioteki do kolejnych innowacyjnych rozwiązań np. porty na inne języki, urządzenia mobilne.

Nowości ma być o wiele wiele więcej oczywiście, jak np. w WebKit http://webkit.org/ :
http://www.atoker.com/webkit/webkitgtk-fosdem08.pdf
http://pl.youtube.com/watch?v=arL_-tQndzI

Jednak zmiany te nie wkroczą tak szybko, dopiero w wersji 3.2 mają być dodawane nowe funkcje. Natomiast w wersji 3.0 mają być jeszcze naprawiane rozwiązania niezadowalające deweloperów GTK+ przed wprowadzeniem radykalnych zmian.
Niemniej jednak zapowiada się ciekawie. :mrgreen:
ODPOWIEDZ