Posted: 17-Jun-2005

Mac Guild Grade

Publisher: O'Reilly


Reviewer: Dale Jensen $44.95

By: Steve Holzner
ISBN: 0596006411
Pub Date: April 2004
$44.95 US

What the Book is About
Eclipse is an open source, free and cross platform Integrated Development Environment (IDE) which has grown beyond its roots as an IBM project to provide an environment for Java development to become a cutting edge modern platform that supports numerous languages, including Java, C++ and Python.

Although this book is simply titled "Eclipse," there is a significant addendum to the cover, "Programming Java Applications". Developers who are looking for information regarding use of the platform for anything but Java will be well advised to look elsewhere.

Originally published just over a year ago, this text deals with version 2.1 of Eclipse, which is now at version 3.0 However, I didn't find the version difference to be a major hurdle in reading through the book and following the examples.

Target Audience
As mentioned above, the readers best served by this text will be Java programmers. Beyond that, the examples provided are clear and concise and will be easily followed by any level of programmer, although some of the concepts introduced do require a bit of knowledge of object oriented programming (at the least) in order to best understand them.

Although this is a cross-platform application, and instances where different platforms diverge are identified and explained, the reader is advised that all screen shots are of the Windows implementation.

What To Expect
The book covers the IDE quite completely and is broken down into appropriate chapters which cover the essentials, different components, and advanced topics.

The chapters are:

Essential Eclipse - Points the user to the web site to download and install the IDE, gives an overview of the IDE user interface, and walks the user through the creation of a simple Java project

Java Development - Goes further in depth on the support found in the IDE for rapid creation of Java projects

Testing and Debugging - Introduces the JUnit testing framework and demonstrates the features of the Eclipse debugger

Working in Teams - Source control using Eclipse and Concurrent Versions System (CVS), which covers source control, versioning, synchronization and patching

Building Eclipse Projects with Ant - Ant is a build tool from the Apache Software Foundation that can be used for complex builds and distributions. This chapter leads the reader through the process of using and configuring Ant, which is built into Eclipse

GUI Programming: From Applets to Swing - Moving away from the support structures in Eclipse, this chapter demonstrates the creation of GUIs with Java. Applets and the deprecated AWT are covered, but the brunt of the chapter is devoted to Swing. Somewhat buried in this chapter is a section on using Eclipse Plug-ins

SWT: Buttons, Text, Labels, Lists, Layouts, and Events - The Standard Widget Toolkit (SWT) is IBM's successor to Swing, providing platform specific GUI elements. This chapter introduces the fundamentals of SWT design and is expanded in the chapter which follows it

Web Development - Using Sun's Tomcat web server, this chapter demonstrates the creation of Javaserver Pages (JSP) with Eclipse.
One of the most complicated sections, this covers server installation, deployment and operation, along with the defined task of creating web applications with the IDE and JSP.

Developing Struts Applications with Eclipse - This chapter continues the previous one's coverage of web application development, now using Struts, a framework used for developing J2EE applications, using a Model-View-Controller (MVC) structure. Because of the complexity of this, the author takes the opportunity to demonstrate how Eclipse handled compilation dependencies in large projects.

Developing a Plug-in - Being extensible, Eclipse affords the user the ability to add custom code to handle custom tools, compilers and the like. Two chapters walk the user through the process of creating such a plug-in.

Eclipse 3.0 - The final chapter provides an overview of the (then) forthcoming version of Eclipse. This is now the shipping version.

What stands out most about this book is the very thorough nature of Holzner's walk throughs of all levels of using Eclipse. Because the book lacks a CD-ROM (somewhat surprising, given the price,) the user is left to enter the exercises manually, which adds to the learning experience.

When one looks at Eclipse in comparison to other modern IDEs such as Metrowerks' CodeWarrior or Microsoft's Visual Studio, one realizes that this is a very complex system which greatly enhances the Java development experience. Holzner has done an outstanding job of showing off Eclipse's abilities.

Mac Guild Grade
B+ (Great)

Final Words
Eclipse may well be the pre-eminent Java IDE available today, and this is a fantastic introduction for those who need an exhaustive overview. The "step by step" nature of Holzner's writing is also very well suited for readers who may utilize this book as a "two for one" initiation into both Java and Eclipse.

For readers with an interest in Eclipse, but no interest in Java, however, the book's utility will be much less so. Following the book will certainly make anyone more familiar with the development environment, but its sole focus on Java will limit its usefulness to other programmers.