0 of 0 people found the following review helpful:
The title says it all, 2007-12-24
This book covers everything a professional Linux developer needs to know about GNOME development. While it may be unlikely that many developers will need to use GTK+ in C extensively, understanding the design at that level will allow you to understand the architecture of high level GTK bindings such as PyGTK.
I strongly recommend anyone that intends to code against GNOME to read this book. It introduces concepts in a very succinct and natural way.
Pros: The book covers everything you need to get started on OSS/GNOME development. Assuming you are already a skilled programmer... The book is very terse and to the point. Examples are useful and compile. Explanations are thorough and accurate. If you are a nerd you will find this book teaches you a lot.
Cons: Book is somewhat terse, and in places hard to read. In it's defense, some of the material it covers is very complex (and if you find yourself bored to tears - skip a few pages and come back when you need it...). You need a very thorough understanding of the C language for this book to be useful to you - which is understandable as GTK+ makes very advanced use of the C language. If you are not a nerd you will find this book a cryptic list of nonsense.
Another reviewer mentioned this was a very "jargon filled" book -- it is. On the other hand, this book is going to teach you GTK+ well enough that you could go read the source and potentially submit patches to the libraries. This level of detail requires accurate and specific terminology.
The book is translated from German. It is a credit to the translator that this is completely unnoticeable while reading the text.
1 of 1 people found the following review helpful:
a clean introducion, 2006-08-03
This is a very clean and readable book introducing Gnome/Gtk2/GLib2 application developpement and can be also used for understanding GLib2 C utilities (strings, hashes, arrays, lists, trees...) and Gtk2 (treeview wigets, etc..). It also adds the Gconf stuff (an api for storing your app's configuration).
But unfortunately, neither the Bonobo graphical components nor the Corba services are presented. So, after reading the book, you still cannot know how to make your program communicate and integrate with other Gnome de facto standard apps. I hope some people will add one chatper or two about that in the next version..
13 of 14 people found the following review helpful:
Does What It Sets Out To Do, 2005-03-24
This is a pretty heavy duty programming book. The opening words say you should have, "Firm Programming Experience in C, including pointers, dynamically allocated data structures, and pointers to functions, C macros and the C preprocessor, fundamental understanding of Unix: processes, libraries, search paths, and so on."
Then the first chapter is on GLIB, a description of the more popular of the routines included in the library. The second chapter, GOBJECT has an opening note: "This chapter is dry and dense." -- Still, this chapter is one of the best descriptions of object oriented programming that I've ever read.
Finally in chapter 3 you begin to get into the heart of the matter. GTK+ is the toolkit for programming the GUI. Chapter 4 is on the GNOME Libraries. These two chapters are really the heart of the book and runs for about forty percent of the entire book. After that there is just some odds and ends that are left over.
This book, as clearly and succinctly as possible does what it sets out to do. It's not the simplest book on the shelf, but then again, neither is its subject.
5 of 8 people found the following review helpful:
Good book, 2004-08-21
As the author already states in the introduction the book doesn't cover all the aspects of gtk and gnome, because then the book would be over 1000 pages, but with what it covers it covers very well and you can have a great start with gnome programming.
The rest you can probably find out from the online documentation or the author has to write a part II
28 of 28 people found the following review helpful:
Excellent intro, 2004-05-16
I'm more of a command line kind of guy, but there are things better done in a graphical treatment. When this is true, I often resort to HTML, but that isn't always suitable either. Most of what I've read about GUI programming has left me feeling daunted by the learning curve, and the writing itself has mostly been difficult to read and unsatisfyingThis book was a delightful exception. As its introduction promises, the content "lies somewhere between a tutorial and a reference". The code examples are often just the kind of things you would write yourself to test-drive your understanding; no unnecessary fluff. There are complete programs also, and these are downloadable from the No Starch web site.
Matthias Warkus has a real knack for explaining complex subjects. I particularly liked his way of explaining object inheritance, which is completely upside down from the way it is usually presented, and thereby makes a much more understandable case for using OO code.
The first chapter is an overview of GLib capabilies. I was quite surprised at the things GLib includes: I come from the days when you needed to buy commercial libraries to get features like memory management, linked lists, B-trees, etc. The second chapter covers GObject, which adds Object Oriented capability to standard C programming. That's an important aspect of Gnome: it is plain vanilla C with the OO stuff added on through the GObject library. For those of us who have yet to be entranced by C++, that's important.
Chapters three and four explain GTK+ and the Gnome libraries, the overlap between them, and hen you'd use either. Chapter five is a lucid introduction to Glade, the interactive development tool for Gnome. I was interested to note that Glade produces XML files that your programs references through calls to Glade libraries.
The rest of the book is miscellaneous coverage that wasn't covered elsewhere; compiling issues, configuration helpers like Gconf. I had ben previously unaware of the GnomeVFS discussed in chapter eight which allows your program to transparently access remote web servers and archive formats like PKzipped files.
All in all, this looks like a very good intro to Gnome GUI development.