About the Author
A software engineer with over 7 years of experience in distributed computing, particularly with n-tiered web applications. Although he has an academic background in travel and tourism he found he greatly enjoyed abstraction and its applications in computer science and hence decided to pursue a career first as a professional software developer, then as an IT consultant and more recently as an architect. He lives in Mexico City and dreams of a time when people will cause traffic jams no more.
Spotlight Features

The Rich Engineering Heritage Behind Dependency Injection

Andrew McVeigh takes us on a tour of the rich heritage behind dependency injection, what it represents, and tells us why its here to stay.

Java, the OLPC, and community responsibility

The "One Laptop Per Child" project has a great device ready to ship, but there's no Java on there. Let's think about working together to put Java on OLPC!

Eclipse in Action

Authors: David Gallardo, Ed Burnette, Robert McGovern
Publisher: Manning Publications Co.
Date of publication: 2003
Sample Chapter: Introduction to Eclipse Plug-ins
Reviewer: Gustavo Garnica

Review:

The Eclipse in Action book is a well written array of various topics dealing with two main subjects, development of Java applications using the Eclipse IDE and extending the platform by the development of custom plug-ins. The various appendixes at the end of the book will be very useful in complementing the information offered in its main body.

As it is expected from a multiple-author book, the language tends to be a bit heterogeneous. There are chapters where the language is more beginner-friendly, such as the first one, where analogies are used to present a view of what the Eclipse platform is. The latter chapters, in contrast, present a more straight-to-the-topic approach, usually more appealing to upper-level developers.

Notwithstanding the language, there are times when the level of detail of the information covered can be a bit overwhelming, thus causing the reader to lose interest in the piece of information at hand. I found myself more than once skipping lines in paragraphs. Most other times, however, the depth of the subjects presented is adequate in measure so that it both, satisfies the original quest for information and appeals the interest of the reader to perhaps google for more.

The authors aimed their writing to both new and middle-experienced Java developers and so they did write it. It is my opinion that readers will profit more from the book when they approach it with a specific search in mind, rather than reading it through chapter after chapter or discarding it completely if they are advanced Java coders.

As stated before, the book is divided in two sections, one written for Java developers who want to use Eclipse as an IDE and the other for those wanting to extend Eclipse with custom functionality.

The first part comprises seven chapters with topics ranging from the history of the Eclipse project at IBM and the base features of the Eclipse IDE through to recommendations for its use with third-party plugins.

The second part is comprised of two chapters, in one the Eclipse plugins architecture as well as the plugin development environment are presented. In the other, the authors dig deeper into the subject of plugin development by completing a usable, more advanced, sample plugin. Software writers interested in beginning to write development tools will find this chapter much useful as it will introduce them to parsing techniques in IDEs in general. Also, more advanced tool developers could use the samples provided in this chapter as startup references for their own projects.

Chapter one briefly touches on the development strategy of the Eclipse project. I found remarkable the statement on Eclipse meeting practicalities halfway. I couldn’t agree more on that. It is most interesting given the fact that at the time the book was written, the authors couldn’t have foretold the timing in which features have been added or improvements implemented over the latter 18 months or so. Indeed, in my opinion, Eclipse, with its myriad of plugins, has become a de facto tool for mainstream Java developers.

Chapters two to four are a must-read for developers new to Eclipse. The authors did a good job presenting the various parts of the IDE from an architectural standpoint. Some readers will not fully agree on a couple of statements on subjects such as agile methodologies but overall, I would not hesitate to rate this introductory content as very much useful.

Chapters five to seven are more focused in three particular subjects, complementary to the content just presented. These are Ant and CVS and their integration with Eclipse as well as the Tomcat plugin by Sysdeo. Like I said before, some users not particularly interested in any of these topics may find the detail of the content presented overwhelming, such as the information on installing Ant on various platforms. That may have been left for an extra appendix, although I acknowledge the fact that there are many appendixes in the book already.

The presentation in chapter 8 of the HelloWorld plugin was most easy and instructive. Like me, readers not very interested in plugin development will discover how friendly the platform architecture is. It portrays Eclipse as a very viable alternative for developers wanting to have their IDE do things their way. Chapter nine continues with an applied exercise of advanced plugin development.

Overall, I would rate the book with 88 points out of 100. I couldn’t grant it 100 points for two reasons. First, some of the content is outdated and if you are a purist you may have different points of view on some of the statements presented, mostly on elements not directly related to the Eclipse platform. Second, I found the content unbalanced to my taste. There are times when too much information on a particular topic is presented. Other times, I did not find enough. For instance, I believe web developers would have found some additional information on day to day configuration issues of the Sysdeo Tomcat plugin very useful.

Notwithstanding the foregoing, as an Eclipse user for more than two years, I can say that I found myself surprised as much of the material was new to me, specially true for details such as the very useful Java perspective menu reference found in Appendix A.

Very true to the essence of Manning’s In Action series, this book is a very useful resource for specific training needs. This book is a must for Java developers who have never worked with the Eclipse IDE. It will enable them to start coding like experienced Eclipse users in no time. Then, when the basic features of the IDE no longer satisfy their needs, they will find the second part of the book and its appendixes very handy. Who knows, they could even make money out of extending the Eclipse platform.

Check out Eclipse In Action on Manning's website.

Download Chapter Eight: Introduction To Eclipse plug-ins!

Purchase Eclipse In Action on Amazon and help Javalobby.