Sample article about the Eclipse Java IDE (converted from .PDF) written by David Geer (Scroll for text).

Home page, writing samples index, full contact and other information at http://www.geercom.com.

High quality layout with complete text of this article in original PDF here ( FREE Adobe Reader required. ).

Page 1
16
Computer
I N D U S T R Y T R E N D S
Published by the IEEE Computer Society
S
ince Sun Microsystems intro-
duced Java in 1995, propo-
nents have sought ways to
boost the technology’s for-
tunes. One approach has
been to create an integrated develop-
ment environment that would make
working with Java easier.
Supporters hoped an IDE would
make Java more competitive with
Microsoft’s popular Visual Studio
.NET, which provides an environment
for integrated, easy-to-use software
tools that appeal to the many business-
application developers who aren’t
hard-core programmers.
This has set off a battle among sev-
eral Java IDEs, including Borland’s
JBuilder, Microsoft’s Visual J#, Oracle’s
JDeveloper, and Sun’s NetBeans.
One contender has been Eclipse,
which IBM developed and turned over
in 2001 to the nonprofit Eclipse
Foundation (www.eclipse.org) to man-
age as an open-source platform.
In addition to providing an IDE,
Eclipse automates numerous functions
that developers would otherwise hand
code, said Alan Zeichick, editor in
chief of SD Times, a newspaper for
software-development managers.
Eclipse has garnered so much support
that many industry observers say it is
now the key Java-tools player. Today,
the Eclipse Foundation has 98 member
companies, including most of the largest
software vendors. The technology even
has its own annual conference,
EclipseCon, which sold out this year.
“Eclipse has truly won,” said
Zeichick. It is inexpensive to use and
makes it much easier to integrate their
tools with one another, he added.
ECLIPSE HISTORY
Object Technology International
developed the Java-based technology
behind Eclipse before IBM bought the
company in 1996. IBM began working
on Eclipse internally in 1998 to inte-
grate its many development programs.
IBM designed the Eclipse platform
in accordance with standards set by the
Object Management Group (www.
omg.org), which produces and main-
tains specifications for interoperable
enterprise applications.
Although the Eclipse Foundation
now manages the platform, nonmem-
bers can also build applications using
the technology.
HOW ECLIPSE WORKS
Multivendor IDEs are a key factor in
software design. They let a project’s
developers select their preferred tools
from different vendors without worry-
ing about making them work together
or learning multiple interfaces and pro-
gramming environments.
Like other IDEs, Eclipse is a pro-
gramming environment packaged as
an application. It consists of a code edi-
tor, compiler, debugger, GUI builder,
and other tools.
For example, the Eclipse Foundation
has included refactoring tools, which
conduct a series of small transforma-
tions to restructure an existing body of
code—for example, to make it smaller
and less buggy—without changing its
external behavior, noted Ian Skerrett,
the organization’s director of marketing.
The foundation has also added intel-
ligence to the text editor, which is used
for hand coding, Skerrett added.
Eclipse offers a set of APIs that con-
nect tools into one unit, the Generic
Workbench, that works as a single
development environment with one set
of behaviors and interfaces.
Eclipse uses the Standard Widget
Toolkit to provide programs’ inter-
faces. The IBM-created SWT is a class
library for creating GUIs in Java. It lets
developers build portable applications
that directly access the user-interface
facilities of the operating systems on
which they are implemented. The Java
programs thus look like native desk-
top applications.
Proponents say that because the SWT
works with the operating system, it will
perform better than techniques that
bring their own UI features and thereby
create user interfaces that look the same
regardless of the host OS.
Meanwhile, Eclipse automates func-
tions, such as the creation of buttons
and dialog boxes, that developers
might otherwise have to hand code.
Eclipse is built with Java and thus
runs on multiple platforms. However,
it will also help build applications in
other languages such as C, C++,
Cobol, and HTML.
REASONS FOR ECLIPSE’S SUCCESS
“Among the top Java IDEs, Eclipse
is the only one gaining market share in
Eclipse Becomes
the Dominant
Java IDE
David Geer

Page 2
July 2005
17
Eclipse’s popularity has led many
tool developers to make their products
compatible with it. This competition
has reduced the price of the plug-ins
that aren’t free, according to Evans
Data’s Andrews.
Fast-moving innovation
and development
Because Eclipse is open source,
Borland’s Cheng said, developers have
ready access to the source code and can
modify it and innovate quickly to meet
users’ needs.
And, Cheng added, companies like
the technology’s open development
process. “It is a very transparent
process. Most of the communications,
milestones and plans are public, and
the builds are available for public
download. Interim builds come out
every couple weeks or every month so
that people can try it out and give feed-
back quickly. There is a lot of commu-
nity involvement,” he said.
Elegant architecture
According to Cheng, Eclipse is a
small, modular IDE with an elegant
architecture that starts from a basic but
Europe, the Middle East, Africa, Asia-
Pacific, and North America,” said ana-
lyst Albion Butters with Evans Data, a
market research firm.
“The power of Eclipse is the com-
mon platform that you can integrate
different tools into,” said the Eclipse
Foundation’s Skerrett.
Eclipse was created as a platform for
plug-in tools that extend the IDE’s
capabilities so that it can work with
numerous programming languages
and applications, as Figure 1 shows.
Anyone can write plug-ins for Eclipse
and have them work directly with any
other plug-ins for the platform. Some
other IDEs limit plug-in creation to
company partners.
There is thus a “huge number” of
interoperable third-party plug-ins,
which has made Eclipse very popular,
said John Andrews, Evans Data’s chief
operating officer.
IBM’s release of Eclipse to the
Eclipse Foundation made the tech-
nology independent of any company,
which fueled its broader adoption by
businesses that don’t want to be tied
to a specific vendor, noted Rob Cheng,
Borland’s director of product market-
ing. “The more independent Eclipse
is, the more comfortable companies
and developers feel using it,” he
explained.
For example, Oracle is working to
ensure that any developer using Eclipse
can build applications for the vendor’s
application server and database, ex-
plained Ted Farrell, chief architect in
the company’s Application Develop-
ment Tools Division.
Lower costs
The entire Eclipse development plat-
form is free. Proprietary IDE systems
such as JBuilder, JDeveloper, and
JetBrains’ IntelliJ IDEA, on the other
hand, can cost up to $3,500 each.
Users seeking to add plug-ins that
aren’t part of Eclipse can get some
tools for free and pay for others. Either
way, it can be less expensive than buy-
ing an entire proprietary development
platform.
powerful foundation. “There is a layer
that lets you integrate applications
without worrying about drawing dia-
log boxes, buttons, and widgets or
property pages and project trees,” he
explained.
Thus, he elaborated, developers can
hand code the new elements they need
or want and disregard the elements
that stay the same from program to
program, such as dialog boxes.
NOT A TOTAL ECLIPSE
Although it appears to be the Java
IDE of choice, Eclipse still faces com-
petition from alternatives such as
JBuilder, Visual J#, JDeveloper, and
NetBeans.
“Eclipse is certainly a very popular
IDE and very successful,” said Tim
Cramer, software engineering director
for Sun’s NetBeans. “However, Net-
Beans is seeing a resurgence with the
developer community. Eclipse has been
great competition, and because of this,
we’re all going to improve.”
“With NetBeans 4.1,” he added, “we
now have a number of features that add
value above and beyond what Eclipse
might have: visual development of
Help
Team
Standard
Widget
Toolkit
Workbench
Workbench
Platform runtime
Eclipse platform
Plug-in
Plug-in
Plug-in
Web
tools
Java
development
tools
Figure 1. Eclipse was created as a platform for plug-in tools that extend its capabilities
so that it can work with numerous programming languages and applications. The tools
plugged into the platform operate on regular files in the user’s workspace. Eclipse can
place a project in the workspace under version and configuration management with an
associated team repository. On startup, the platform runtime discovers the set of
available plug-ins, reads their manifest files, and builds an in-memory plug-in registry.
The workbench provides Eclipse’s user-interface personality and includes the SWT
general-purpose UI toolkit.

Page 3
Editor: Lee Garber, Computer,
l.garber@computer.org
18
Computer
I n d u s t r y T r e n d s
dard API that would work with all
Java IDEs that support it.
T
he Eclipse Foundation has sub-
mitted for review Eclipse 3.1
Release Candidate 1, which fea-
tures an updated SWT that offers more
capabilities and interoperability with
a greater number of browsers. The new
version would also be faster, include
more wizards, and enable automatic
coding of additional features.
In addition, the foundation is ex-
panding its activities. For example, the
group’s Web Tools Platform Project
plans to begin releasing tools this sum-
mer. The organization has also devel-
oped business intelligence and report-
ing tools for generating reports from
Java servers and is working on a rich-
client platform for developing robust
desktop and workstation applications.
According to SD Times’ Zeichick,
Eclipse will be the leading Java IDE for
at least five years because of vendor
support.
However, Cheng noted, it remains to
be seen how sophisticated Eclipse’s
functionality and features will get. “It’s
not clear where different groups within
Eclipse will move and evolve with their
projects. It may be that Java develop-
ment will only reach a certain level on
Eclipse,” he explained.
Said Oracle’s Farrell, “Eclipse’s suc-
cess is tied to how good a product it is.
If it starts to deviate from the main
development base, it will begin to lose
favor. Now that Eclipse is expanding,
there are a lot more people contribut-
ing different types of technologies to it.
As the base starts to grow, there is a
danger of it losing some of its appeal
as being lightweight, fast, and focused
on the developer.” I
David Geer is a freelance technology
journalist based in Ashtabula, Ohio. Con-
tact him at david@geercom.com.
J2ME (Java 2 Platform, Micro Edition)
applications, debugging on a live cell
phone, and an advanced profiler.”
Thus, he said, “Our active users have
gone up dramatically according to our
internal measures, and we’re also seeing
a surge in traffic to our Web site.”
Concerns
According to Cramer, because
Eclipse and the SWT are not going
through Sun’s Java Community
Process for introducing new features,
they don’t create applications with true
Java functionality.
In addition, he explained, develop-
ers must port the SWT to all platforms
on which Eclipse runs, which can be
complex, time consuming, and expen-
sive. NetBeans, on the other hand, runs
natively anywhere there’s a 1.4 or later
version of Java, he noted.
NetBeans originally used the
Abstract Window Toolkit, an API for
Java-application GUI development.
Sun discovered performance and exten-
sibility limitations with AWT and thus
developed Swing, explained Cramer.
AWT uses the operating system’s
graphics code for GUIs while Swing
brings its own, creating GUIs that look
the same on any OS. In addition,
Cramer said, Swing has about 500
classes of GUI-related objects and thus
offers richer graphics and more com-
ponents than AWT, which has only
about 50 classes.
Because AWT and Swing are part of
the Java specification, proponents say,
they offer better Java functionality.
Oracle’s compromise
Concerned that Eclipse and
NetBeans might create incompatible
technologies that would split Java and
make it less attractive to developers,
Oracle has offered a compromise
designed to enable compatibility.
The company has submitted Java
Specification Request 198, “A Stan-
dard Extension API for Integrated
Development Environments,” to Sun’s
JCP. Rather than introduce yet another
IDE, JSR 198 would provide a stan-
www.computer.org/
join/grades.htm
GIVE YOUR CAREER A BOOST
I
UPGRADE YOUR MEMBERSHIP
Advancing in the IEEE
Computer Society can
elevate your standing in
the profession.
Application to Senior-
grade membership
recognizes
ten years or more
of professional
expertise
Nomination to Fellow-
grade membership
recognizes
exemplary
accomplishments
in computer
engineering
REACH
HIGHER