llll  
ll  
TU WSTAW TEKST

Recenzja porównawcza dwóch książek

  1. Matthias Kalle Dalheimer-"Programming with Qt", O'Reilly, ISBN 1-56592-588-2, str.364, cena ok.130 zł
  2. Burkhard Lehner-"KDE-und Qt-Programmierung", Addison-Wesley, ISBN 3-8273-1477-1, str.564, CD z przykładami, cena ok.180 zł

W drugiej połowie tego roku (sierpień i październik 1999 r.) ukazały się dwie książki, bardzo ważne dla tych, którzy są zainteresowani pisaniem programów w języku C++ przy wykorzystaniu biblioteki Qt norweskiej firmy Troll Tech. Biblioteka Qt jest powszechnie uważana za najlepszą biblioteką GUI oferowaną obecnie dla systemów uniksowych. Qt jest nie tylko zbiorem nowocześnie wyglądających elementów graficznych takich jak przyciski, suwaki, okienka dialogowe itp. lecz również kompletnym systemem programowania. Qt jest wyposażona w znakomitą dokumentację (html) co w połączeniu z powyższymi książkami powinno znakomicie wspomóc pisanie programów. Oczywiście nabywcy komercyjnych wersji Qt mogą liczyć na wsparcie techniczne ze strony f-y Troll Tech.

W zasadzie ocena podsumuwująca powinna być umieszczona na końcu lecz dla tych osób, które nie mają ani ochoty ani czasu tej recenzji czytać chciałbym przedstawić tutaj moją opinię: książkę, która zdecydowanie polecam jest "KDE-und Qt-Programmierung" autorstwa Burkhard Lehner (uzasadnienie podaję poniżej). Stawiam ją znacznie wyżej niż książkę Dalheimera "Programming with Qt". W tytule książki Lehnera podano, na pierwszym miejscu, że jest to książka o pisaniu programów w KDE. Jest to tytuł, który może zmylić bo zasadniczą treścią tej ksiażki jest pisanie programów przy pomocy Qt. KDE jest tutaj tylko cennym i miłym dodatkiem. Po tę książkę mogą sięgnąć śmiało programiści, którzy chcą pisać programy po W95 czy Windows NT. Dla osób, które znają język angielski i niemiecki wybór jest oczywisty (patrz wyżej). Natomiast tym, którzy znają tylko angielski chciałbym powiedzieć, że książka Dalheimera nie jest zła. Książka ta opisuje (nie tak szczegółowo jak książka Lehnera) w miarę wszystkie aspekty Qt. Np: zaletą tej książki jest przejrzysty styl jaki użyto do napisania przedstawionych w niej przykładów. Na okładce "Programming with Qt" umieszczono napis "Covers Qt 1.4x and 2.0". Jest to nieprawda bo książka nie opisuje Qt w wersji 2.0. Wersja Qt 2.0 jest natomiast tematem książki Lehnera. Z tym, że w tych miejscach gdzie pojawiają się różnice w stosunku do Qt 1.4x Lehner stara się je przedstawić. Wynika to z tego, że Dalheimer pisanie swojej książki skończył w lutym 1999 r. natomiast Lehner w sierpniu 1999r.

Uzasadnienie :

Na pierwszy rzut oka solidniejsze wrażenie sprawia książka "KDE-und Qt-Programmierung". Jest to książka oprawiona w grubą sztywną okładkę, której kartki są zszywane. Książka "Programming with Qt" wizualnie nie sprawia tak dobrego wrażenia. Niestety jej kartki są klejone. Jeżeli chodzi o zawartość merytoryczną. Obydwie książki starają się przedstawić wszystkie charakterystyczne cechy Qt, jednakże przy każdym opisie tych cech za każdym razem Lehner przedstawia je znacznie szczegółowiej z uwzględnieniem różnych niuansów, jednocześnie bogato je ilustrując przykładami. W obu książkach ważne zagadnienia zakończone są ćwiczeniami. I znów, Lehner proponuje ćwiczenia, które rozpoczynają się od prostych i stopniowo stają się bardziej skomplikowane. Ćwiczenia te są uzupełnianie licznymi ilustracjami. Sposób budowania ćwiczeń i ich duża liczba odróżnia książkę Lehnera, na plus, od książki Dalheimera.

Chciałbym tutaj ocenić te grupy tematów, które dla mnie były ważne i interesujące. Pierwszym ciekawym zagadnieniem jest sposób zarządzania rozmieszczaniem widgetów w okienkach dialogowych za pomocą specjalnych klas. Dalheimer opisał to ale potraktował ten temat dość powierzchownie. Natomiast Lehner przedstawił je szczegółowo. Zaczyna od opisu prostej metody rozmieszczania widgetów za pomocą stałych współrzędnych poprzez metody pośrednie aż do sposobu wykorzystania klasy QLayout i pochodnych. Przedstawił sposób krokowej budowy okienka dialogowego ilustrując to, jak zwykle, licznymi przykładami i zdjęciami i jednocześnie starając się zwrócić uwagę czytelnika na newralgiczne miejsca jakie powstają w trakcie projektowania okienek.

Drugim bardzo ważnym zagadnieniem to kolory w Qt. Jest to znów opisane znacznie wnikliwiej u Lehnera. Dużą część tego tematu stanowi rysowanie prymitywów oraz transformacje obrazów. Oddzielne rozdziały poświęcono nie tylko klasie QPainter ale i tym klasom, na których możemy rysować. Umieszczono specjalny rozdział, w którym rozważa się efektywność urządzeń, na których się rysuje. Dalheimer, mimo że sam uważa klasę QPainter za silną stronę Qt, nie poświęca jej zbyt wiele uwagi. I znów, Lehner wzbogaca to zagadnienie licznymi ilustracjami, przykładami i ćwiczeniami.

Projektowanie własnych widgetów to następne ważne zagadnienie. No cóż, chcesz się nauczyć je projektować to weź sobie za przewodnika Lehnera. Podał kolejność postępowania przy projektowaniu widgetu a póżniej oddzielnie opisał zdarzenia "nisko-pozimowe" (ang.low-level) czyli te wszystkie wirtualne funkcje, które odpowiedzialne za obsługę zdarzeń generowanuch przez klawiaturę i mysz. Dalheimer nie opisał ich tak szczegółowo ale cenne są jego przykłady ilustrujące budowanie własnego widgetu. Książka "KDE-und Qt-Programmierung" jest zakończona krótkim opisem klas KDE i Qt.      

Autor : Jerzy Skalski
Data 22.06.2000 Ksi Ksi

[ DO GÓRY]

 
ll
 
 
   
  kde.com.pl