This book comes recommended if you want to gain a quick understanding of the issues involved with building a KDE application.
The past few years have seen the rise of Unix (notably Linux) as a desktop computer OS against the stiff competition of the Microsoft desktop. What is notable about this popularisation is that the GUIs supplied with Linux OSs these days are world- class, really usable environments - not like the basic 'window managers' and command lines used in the days of yore.
KDE is the most popular of these desktop environments and this book aims to bring a programmer proficient in C++ to the point where they are able to write full KDE desktop programs. KDE is written entirely in C++ and is based upon the excellent Qt widget library. The book covers both the KDE and Qt APIs, as you would expect.
This is not a dauntingly large book. Despite the KDE interface being comprehensive (read: large) the rudiments of creating KDE apps is covered well. The book avoids the trap of containing an entire copy of the KDE online programmer's reference pages, which many books on open source projects seem to fall into. In some ways, though, a book containing this sort of information would be a very useful compliment.
The text reads slightly strangely in many places, however this is understandable since it has been translated from the author's native German (in which the book was originally published). This never affects the technical content or meaning of the book and so is no major problem.
The book follows a tutorial style and works through a single example program, building it from a simple skeleton application to a full-blown useful application (an implementation of the travelling salesman problem). You meet all of the interesting KDE facilities along the way and whilst the book doesn't delve into them all in very great depth you are left with an adequate understanding of the principles, which can be expanded with experience and judicious use of the KDE online API documentation.
The travelling salesman problem algorithm is described in quite a lot of detail, which I felt was unnecessary - I would rather have seen the many pages devoted to this being used to give more depth to other more KDE specific issues. However it does make for an interesting read, if not somewhat complex relative to the main subject matter.
It should be noted that this book specifically targets the KDE 1.x versions. Work is well under way on the KDE 2.x release, which differs quite radically from the initial releases in many respects. Therefore this book will quickly become out of date, although many of the concepts will carry across. To be fair, the author does acknowledge this in an endnote.
This book comes recommended if you want to gain a quick understanding of the issues involved with building a KDE application.