|
Zbigniew Sokal
Rozwój przemysłu i rynku komputerowego nieustannie zmienia nasze wyobrażenie o pracy z komputerem. Karty dziurkowane stanowią odległą przeszłość - dziś pasjonujemy się graficznymi możliwościami aplikacji, internetem, multimediami.
Współczesne interaktywne aplikacje muszą sprostać już nie tylko określonym wymaganiom co do realizowanego przez nie celu - coraz bardziej liczy się forma i jakość ich interfejsu z użytkownikiem. Wraz z pojawieniem się możliwości wykorzystania grafiki o dużej rozdzielczości, estetyka i ergonomia aplikacji uzyskały nową jakość. Wobec różnorodności niekompatybilnych ze sobą urządzeń graficznych (monitory video, kontrolery) pojawiła się jednak potrzeba zapewnienia uniwersalnego do nich dostępu. Doprowadziło to do powstania złożonych systemów oferujących zintegrowane środowisko graficzne, wynoszące wyświetlanie grafiki na wyższy poziom abstrakcji, poziom "okienek" i innych, bardziej wyspecjalizowanych, graficznych elementów interfejsu z użytkownikiem. "Macintosh Finder", "Microsoft Windows", "Windows 95", "OS/2 Presentation Manager", NeXTstep" - to dobrze znane ich przykłady. Zapewniają one swoim aplikacjom nie tylko przenośność, ale pozwalają zredukować czas i nakład pracy potrzebne do nadania im odpowiedniego wyglądu i stylu obsługi.
Świat systemów UNIX, mimo iż częściej kojarzy się nam z terminalem znakowym niż graficzną stacją roboczą, ma również swoje "okienka". Pod nazwami AIXwindows", DECwindows" czy "OpenWindows" kryją się implementacje powszechnie tu obowiązującego standardu X Window.
Praca ta jest rezultatem studiów środowiska graficznego systemów UNIX, zdeterminowanego przez standard X Window. Jej treść jest wynikiem spojrzenia na badany obszar pod kątem jej wykorzystania do budowy graficznych interfejsów z użytkownikiem, jak nazywa się aplikacje wykorzystujące środowiska graficzne.
Początkowe rozdziały prezentują architekturę systemu X, rolę jaką pełnią w nim poszczególne elementy oraz filozofię, którą kierowali się projektanci decydując się na taką, a nie inną konstrukcję. Kolejny krok to zaprezentowanie oferty jaką środowisko X kieruje do twórców aplikacji graficznych, czyli przekrój narzędzi udostępniających jego zasoby. Tworzą one kilka poziomów abstrakcji, począwszy od bibliotek realizujących jego podstawowe funkcje jako systemu okien, a skończywszy na wysokiego poziomu narzędziach API, pozwalających w wygodny i wydajny sposób budować zaawansowane graficzne interfejsy z użytkownikiem (GUI) z możliwością serwowania profesjonalnej grafiki (2D i 3D).
Najlepsza drogą do odkrycia świata X, poznania jego możliwości, jest oczywiście doświadczenie go w praktyce programowania . Znacząca część pracy poświęcona została więc wprowadzeniu w środowisko funkcji i obiektów , zarówno niskiego poziomu - by poznać funkcjonowanie i podstawy systemu, jak i należących do wyższych obszarów abstrakcji, by z kolei poznać wydajny sposób tworzenia zaawansowanych aplikacji. Zaprezentowane tu przykłady prostej aplikacji, napisanej przy pomocy różnych narzędzi, oraz próby opracowania czegoś w rodzaju modelu "typowej" aplikacji w wyznaczonych przez te narzędzia środowiskach powinny okazać się pomocne w stawianiu pierwszych kroków w środowisku X, w wyborze narzędzi i środków do budowy własnych aplikacji.
Całość wieńczy projekt i implementacja konkretnego problemu, wykorzystujące omawiane środowisko i narzędzia. Dotyczy on realizacji rozproszonej konferencji, której uczestników łączy jedynie wspólna sieć komputerowa.
|