||New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About||
Keywords: Java, Eclipse, Rich Client Platform
Title: Eclipse - Building Commercial-Quality Plugins
Author: Eric Clayberg and Dan Rubel
Publisher: Addison Wesley
Level: Intermediate Java
Verdict: Strongly recommended to those wishing to get to grips with writing solid plug-ins for Eclipse
A key factor in the well-deserved success of Eclipse is the whole eco-system of plug-ins. Yes, Eclipse is one of the leading Java IDEs, but it's also an IDE for C/C++, PHP, Python and other languages. It's a platform for web development, XML authoring, UML and modelling, databases and much more. All of these are possible because Eclipse is 'open-source platform-independent framework for the creation of rich-client applications' (to quote from Eclipse In 30 Seconds). However, most introductions to Eclipse barely touch on the technicalities of building a robust and complex plug-in. Not so with this title, by two authors with extensive experience of building and selling commercial Eclipse plug-ins.
The book is designed from the bottom-up for Java developers who want to create professional looking and highly functional Eclipse plug-ins. The authors, Eric Clayberg and Dan Rubel (co-founders of Instantiations, developer of CodePro, WindowBuilder and other commercial Eclipse plug-ins), assume that they talking to experienced Java developers who already know and use Eclipse to some extent. The book opens with a first chapter that introduces Eclipse to the first-time user, but to be honest this is probably redundant - would anyone really attempt to build a plug-in for an environment they don't already know?
Chapter two builds a very simple plug-in that forms the basis of the project that is developed and extended at various points throughout the rest of the book. It walks through the process from start to finish, providing enough functionality to have a structure in place that can be used as the basis for a more complex and realistic plug-in. The third chapter looks in more detail at the architecture of Eclipse and how all of the pieces fit together.
In Eclipse the GUI side of things is handled using the SWT framework rather than Swing (which is the Java 'standard' shipped by Sun). The book features a chapter introducing SWT followed by a chapter on using JFace viewers, which provide wrappers to SWT widgets for lists, trees, tables and so on. These initial chapters provide all the details of the mechanics required to build plug-ins.
The rest of the book - the bulk of it in fact - looks in more detail at the actual development that needs to take place. From handling actions, views, editors, resource change tracking, perspectives, wizards and more. In short all aspects of plug-in development are covered, including advanced topics such as early start-up and background tasks.
Aside from the sheer range of technical material the book benefits from some good solid writing and plenty of screen-shots and sample code. This is not a boring read, no matter how technical the subject! Note also that the book covers Eclipse 3.1 and 3.2, in contrast to the previous (first) edition of the book.
In all, this is a book that is strongly recommended to those wishing to get to grips with writing solid plug-ins for Eclipse.