Foundations of GTK+ Development / Edition 1by Andrew Krause
Pub. Date: 04/24/2007
GTK+ is one of the most influential graphical toolkits for the Linux operating system. It is the technology upon which the GNOME and XFCE desktop environments are based, and its crucial to have clear understanding of its complexities to build even a simple Linux desktop application. Foundations of GTK+ Development guides you through these complexities,/i>
GTK+ is one of the most influential graphical toolkits for the Linux operating system. It is the technology upon which the GNOME and XFCE desktop environments are based, and its crucial to have clear understanding of its complexities to build even a simple Linux desktop application. Foundations of GTK+ Development guides you through these complexities, laying the foundation that will allow you to cross from novice to professional.
Foundations of GTK+ Development is aimed at C programmers and presents numerous real-life examples that you can immediately put to use in your projects. Some familiarity with C programming is assumed, as the book delves into new topics from the beginning. Topics like object inheritance are covered early on to allow for complete understanding of code examples later. And the provided examples are real-life situations that can help you get a head start on your own applications.
Table of Contents
Most Helpful Customer Reviews
See all customer reviews
I wanted to like this book, but unfortunately I cannot in good conscience give it 5 stars as the other reviewers have. I will say the book is well organized and is definitely useful as a starting point for studying GTK+ and the author clearly has a great deal of knowledge about the subject. But what should have been the main strength of the book that differentiates it from the mostly inadequate online tutorials is the author conveying to the reader straightforward explanations of important concepts and insider tips and tricks that can only come from extensive experience. He tries to do this, but I found many of his explanations ambiguous and confusing. Important terminology was left undefined or poorly defined which contributed to the confusion. The author dutifully plods through a presentation of most of the main widgets, providing essentially the same trivial example code each time with minor variations- basically just showing how to put the widget onscreen. But there was a frustrating lack of material devoted to how to use signals and events to perform any useful tasks. The vast majority of the functionality of any GUI application lies in its event handlers and callback functions. After reading this book, you will be able to prototype the GUI for your application, but you may be at a loss to make it actually do something. By Ch.3 and 4, the same example code has been replicated so many times that there is an increasing frequency of copy-paste errors that gradually becomes very annoying. Also, there are many typos in the text. The lack of editorial oversight and technical review on the part of the publisher combined with the author's lack of attention to detail and failures in exposition has created a book that I can only marginally recommend- mostly because all of the other books that have been published on GTK+ are either out of date or out of print, so this book seems to be the winner by default.
Most programming books are written to be references, used in a class or for a challenge in resisting the forces of gravity on the eyelids. This book is impressive and refreshing. It becomes obvious to the reader that the author not only has extensive knowledge of the material, but is very proficient at presenting it in a way that facilitates learning for both novice and experienced programmers alike. He does so in a manner that doesn't alienate or annoy one for the progress of the other. Some books may leave you frustrated or discouraged by not addressing concepts or questions that seem obvious. The author has anticipated these issues and doesn't leave you hanging. Another bonus is the book is linked to a web site which serves as a resource guide and supplement to material in the book. The website, like the book, is well organized and focused on providing the reader with the material she/he needs to become a proficient gtk+ developer. It contains many items of interest such as source code for examples & exercises, programming articles, API documentation and links to online resources. You can view the full Table of Contents there as well 'google Andrew Krause'. The author is also available by email. His replies were prompt and helpful. In the book, there are in-depth reference appendices on properties, signals, styles, stock items, GError types and exercise solutions with hints. It covers just about everything you need to know to get a solid grip on GTK+ development including an entire chapter devoted to using GLib, dynamic user interfaces and creating custom widgets. It is obvious the author has given meticulous thought in the creation of this book. Every chapter contains a plethora of simple to advanced executable examples along with exercises designed to make you think and solidify what you've learned. The examples are ¿real world¿ programming examples that you will actually use. I highly recommend this book and look forward to future works from this author.