- Shopping Bag ( 0 items )
From Barnes & NobleThe Barnes & Noble Review
Developers have grown accustomed to tools that force you to work more or less the way they want you to. But it hasn’t always been that way. Some may remember the heyday of Smalltalk, which treated every user as a potential programmer. (Don’t like the way your editor works? Change it.) Now, there’s an open source software project that brings that philosophy back to life: Eclipse.
From the outset, Eclipse has envisioned an endless “Contribution Circle” that benefits everyone involved. Users become configurers, thoroughly adjusting Eclipse to their unique needs. Configurers become extenders, plugging in new functionality they’ve created. Extenders become publishers, sharing their functionality with the world. Publishers become enablers, providing hooks others can use to further extend the contributions they’ve published. Finally, having earned the trust of the community, enablers become committers, able to contribute changes to the source code in the global Eclipse release. Contributing to Eclipse is about becoming part of that contribution circle -- and reaping its benefits.
Authored by the legendary Erich Gamma (Design Patterns' “Gang of Four”) and Kent Beck (of Extreme Programming fame), this book has three goals. First, using plenty of examples, it thoroughly explains the basic concepts and details you need in order to contribute to Eclipse at any level. Second, it teaches you how to learn even more about Eclipse, whenever you need to know it. Third, maybe most important -- and not surprising, given who wrote it -- the book is a primer on Eclipse’s sophisticated design principles. Of course, those principles aren’t just relevant to Eclipse, but to any system you might be involved with.
The authors begin by walking you through the Eclipse architecture at a high level, then setting you up for plug-in development, and walking you through just about the simplest possible example (You’ll add a button to the toolbar. When you click the button, a dialog box will appear, announcing -- yup, the old standby -- Hello World.)
Next, you’ll drill down with a more detailed example: the authors’ own JUnit regression testing framework for implementing unit tests in Java. They start simple, using JUnit as existing functionality that will be accessed through Eclipse, and using the extension of JUnit for testing plug-ins, PDE JUnit. Next, they add the elements required for a complete Eclipse contribution. As the authors put it, collectively, “The contributions add up to a new way to think about tests during the development process, and each bit shows you a useful corner of Eclipse.”
Along the way, you’ll walk through implementing menu items, displaying results, defining extension points that allow others to extend JUnit, and packaging your plug-in. Gamma and Beck cover a wide range of issues associated with Eclipse development and testing, ranging from auto-test properties and exception handling to tracing, markers and marker resolution, and test reporting using JFace.
Last but not least, the authors present a “designer-to-designer” tour of Eclipse built around design and implementation patterns, and showing how these patterns play out in diverse contexts. If you care about design at all, you’ll find this stuff invaluable. Bill Camarda
Bill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks for Dummies, Second Edition.