Eclipse is an integrated development environment (IDE) for software. It also represents an ideal, incorporating modularity, extensibility, and community. Contributing to Eclipse: Principles, Patterns, and Plug-Ins is therefore significantly more than a book about how to write plug-ins for the Eclipse framework. The book--by software patterns guru Erich Gamma and "extreme programming" exponent Kent Beck--explains how new Eclipse modules should interact with existing software elements, and make themselves further extensible. It also emphasizes the importance of packaging new plug-ins and making them available to others as new Eclipse features. The book's emphasis is on community, and helping the Eclipse project grow and improve.
That said, this book is an excellent how-to guide. Gamma and Beck take the time to carefully detail a couple of model plug-in projects--including the industry-standard Hello World exercise--and take care to explain the highly visual Eclipse development process one step at a time. They don't unleash bushels of source code on the reader, but nonetheless manage to walk the reader through a series of progressively more elaborate extension projects that exercise some of the most exciting parts of the Eclipse framework. As you'd expect from a book involving Gamma, discussion of patterns appears with increasing frequency toward the book's conclusion, enabling the reader to expand on the authors' shared wisdom and understand the Eclipse design better. --David Wall
Topics covered: How to extend the Eclipse development environment--both in the narrow sense of writing code that makes the software do something new, and in the broad sense of participating in the Eclipse community. Specific coverage addresses extension points, markers, perspectives, and help. There's also a guide to the Eclipse architecture, framed as a series of "pattern stories."