Over a million developers have joined DZone.

Eclipse Plug-ins: An Interview With the Authors

· Java Zone

Check out this 8-step guide to see how you can increase your productivity by skipping slow application redeploys and by implementing application profiling, as you code! Brought to you in partnership with ZeroTurnaround.

[img_assist|nid=7268|title=|desc=|link=none|align=right|width=199|height=101]The book, Eclipse Plug-ins, just released its third edition. It’s guaranteed to be a big seller among Eclipse developers and those looking to get into plug-in development for Eclipse. I met with authors Eric Clayberg and Dan Rubel to ask them a few questions about the book and plug-in development in general. You can look forward to my review of the book here on EclipseZone tomorrow.

Free Book Offer! Enter our DZone competition to win a free copy of Eclipse Plug-ins by submitting a comment on a previous edition and why you liked it, or what it is that interests you most about this book. We will then randomly select a winner based on the entries received by 31 January, 2009.

James Sugrue: Can you both please introduce yourselves to our readers?

Eric Clayberg: Officially, I’m a co-founder and the Senior Vice President for Product Development for Instantiations, Inc., which means when I’m not writing or updating the Eclipse Plug-ins book, I’m using my seventeen years of commercial software development experience to continue to drive innovation in Instantiations’ WindowBuilder GUI-building products, our CodePro AnalytiX automated testing and code quality tool, as well as our other products. 

Dan Rubel: As a co-founder and Chief Technology Officer for Instantiations, Inc. I play a key design and leadership role in our products, including our RCP Developer tool, WindowTester Pro, the automated GUI testing product, and CodePro AnalytiX, our code quality product. I have over 15 years of experience in object oriented technologies, as well as years on Java and Eclipse to help make our commercial software development products.

Sugrue: How long have you been working with Eclipse?

Clayberg & Rubel: We were briefed on Eclipse in late 1999 and have been using it full time since early 2000 (before it was even named Eclipse).As an Advanced IBM Business Partner, we were fortunate to have built a long and trusted relationship with the folks at IBM responsible for the creation of Eclipse. That relationship meant that we were in a unique position to be briefed on the technology and to start using it on a daily basis nearly a year and half before the rest of the world even heard about it. When IBM finally announced Eclipse to the world in mid-2001, our team at Instantiations had built some of the first demo applications IBM had to show. Later that year when IBM released its first Eclipse-based commercial tool, WebSphere Studio Application Developer v4.0 (v4.0 so that it synchronized with its then current VisualAge for Java v4.0), our CodePro product became the very first commercial add-on available for it (and for Eclipse in general) on the same day.


Sugrue: I've really been looking forward to this book. Was it difficult to write a new edition?

Clayberg & Rubel: Yes. The new 3rd Edition required over 500 hours of effort. This is a substantially bigger change than the 2nd edition was from the 1st.


Sugrue: Why the change in name from the second edition, which was “Eclipse: Building Commercial Quality Plug-ins”?

Clayberg & Rubel: We’ve simplified it to “Eclipse Plug-ins” to make it more succinct and make it more visible on bookstore shelves where only the spine is showing. It is considered the definitive book of Eclipse plug-in development so why not give it the most direct and succinct title?


Sugrue: What is the number one tip you would give to plug-in developers?

Clayberg & Rubel: Read our book ;-).  Why?  To us, “commercial-quality” is synonymous with “commercial grade” or “high-quality.” Producing a commercial-quality plug-in means going above and beyond the minimal requirements needed to integrate with Eclipse. It means attending to all those details that contribute to the “fit and polish” of a commercial offering. In the world of Eclipse plug-ins, very few people take the time to really go the extra mile, and most plug-ins fall into the open source, amateur category. For developers interested in producing high-quality plug-ins (which would certainly be the case for any software company wanting to develop Eclipse-based products), there are many details to consider. Our book is meant to encompass the entire process of plug-in development, including all the extra things that need to be done to achieve high-quality results.

Our goal was to accomplish several objectives with this book:

• Provide a quick introduction to using Eclipse for new users

• Provide a reference for experienced Eclipse users wishing to expand their knowledge and improve the quality of their Eclipse-based products

• Provide a detailed tutorial on creating sophisticated Eclipse plug-ins suitable for new and experienced users


Sugrue: What is the most impressive Eclipse plug-in you have seen?


Clayberg & Rubel: Our WindowBuilder Pro product ;-).  Okay, I admit that I am a little biased but it’s my favorite tool because it is such a unique product with so much depth. It’s not only me that believes this it’s the thousands of users and the fact that it has won awards. The bottom-line is that it does a brilliant job solving the needs of Java GUI developers. Our recent white paper on GUI Building enumerates many reasons for why WindowBuilder has hit the sweet spot in the Eclipse developer community.

And while we’re tooting our own horn, our CodePro AnlaytiX product adds hundreds of enhancements to Eclipse and any Eclipse-based IDE. Developing CodePro over the last several years has provided us with an opportunity to learn the details of Eclipse development at a level matched by very few others. It has also served as a test bed for many of the ideas and techniques presented in this book, providing us with a unique perspective from which to write.

Sugrue: Do you see Eclipse plug-in development getting more popular this year?

Clayberg & Rubel: Yes, definitely. Eclipse is entering its 8th year and has a substantial following. Eclipse, and open source in general seems to be growing within large enterprises, as well as companies of all sizes. There is so much potential with OSGi and Equinox, and we see some excellent opportunity. And with Eclipse continually growing and expanding, this is a great time to focus on plug-in development.

Sugrue: What are your thoughts on e4?

Clayberg & Rubel: It looks very promising and will re-invigorate the Eclipse community. It offers an excellent opportunity to fix long-standing issues and jettison old, deprecated APIs.

We will, of course, be updating our book for e4 when it comes out.


Sugrue: What advice would you give to developers who are just starting out on developing on top of Eclipse?

Clayberg & Rubel:Read our book and look at the Eclipse source for excellent examples of how to do just about anything. There is also a lot of good information on great developer portals like this one.

Sugrue: I read through the book cover to cover. But to developers who have read the last edition, and are stuck for time, what are the key chapters to read?

Clayberg & Rubel: Chapters 6, 7, 8, 19 and 20 had the most changes (due to Commands, p2, etc.) and chapter 20 (GEF) is all new.

Here’s more detail on the major changes in this third edition:

Eclipse Command Framework

The Eclipse command framework replaces the older Action framework. Throughout the book, use of the older Action framework has been replaced with new content describing how to accomplish the same thing with the new command framework. This is most obvious in Chapter 6 where the first half of the chapter is entirely devoted to the command framework. Chapter 7 and Chapter 8 also have lots of new material describing use of commands with views and editors.

Eclipse 3.4 and Java 5

All of the screen shots, text and code examples throughout the book have been updated to use the latest Eclipse 3.4 API and Java 5 syntax. Chapter 1 has been overhauled to include descriptions of new capabilities in Eclipse 3.4 including a new overview of using Mylyn and discussion of new preferences. Both Chapter 1 and Chapter 2 cover cool PDE and SWT tools available in Eclipse 3.4.

New GEF Chapter

GEF, the Graphical Editing Framework from Eclipse.org, provides a toolkit for building dynamic interactive graphical user interface elements. Chapter 20 takes you step by step through the process of building a GEF-based view for graphically presenting the relationships between the favorites items and their underlying resources. We then go further, building a GEF-based editor with the ability to add, move, resize, and delete the graphical elements representing those favorites items.

Put PDE Build through its paces

Over the past several years, the PDE build process has been steadily maturing. The proprietary Ant scripts in Chapter 19 of earlier versions of our book have been completely replaced with step-by-step instructions for getting an Eclipse PDE Build process up and running to automate assembly of your product for distribution.


Free Book Offer! Enter our DZone competition to win a free copy of Eclipse Plug-ins by submitting a comment on a previous edition and why you liked it, or what it is that interests you most about this book. We will then randomly select a winner based on the entries received by 31 January, 2009.

The Java Zone is brought to you in partnership with ZeroTurnaround. Check out this 8-step guide to see how you can increase your productivity by skipping slow application redeploys and by implementing application profiling, as you code!


The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}