The Eclipse integrated development environment (IDE) is an extensible platform with many plug-ins and extensions built on top of it. The base platform allows you to add whatever you want to build an IDE that suits your needs.
The base platform and collection of plug-ins and extensions are built on the Equinox OSGi framework, which is an implementation of the OSGi R4 core framework specification (see Resources). Essentially, OSGi provides a way to build Eclipse (the platform) as a collection of plug-ins and extensions that work together as services to provide functionality. This framework is the reason the Eclipse platform is so extensible and can support so many languages and features.
If you're using the Eclipse platform, you can get almost exactly the features you want in one download. All you have to do is find the right distribution (distro), decide on a licensing or pricing model that works for you, and download and use the distro. Each distro offers different features — some unique to a vendor or distributor — but they're all built on the same platform: Eclipse.
If you have Eclipse installed and want to see which features and plug-ins are installed on your system, open the About window for Eclipse. In the window similar to Figure 1 (this window may vary slightly by distribution or vendor), click Feature Details. A list of features and their providers is displayed, as shown in Figure 2.
Figure 1. The About Eclipse Platform window
Figure 2. Feature details
To see the exact versions of the plug-ins installed, click Plug-in Details. You will see a full list of the plug-ins, including the vendors, versions, and IDs.
Figure 3. Viewing the plug-in details
A collection of tools that includes the Eclipse platform and one or more plug-ins or extensions is referred to by many names, including package, bundle, or distribution (distro). To eliminate a bunch of typing, I refer to a distribution of projects based on Eclipse as a distro throughout this article, although you're likely to notice that each vendor refers to its distro with any one of the other terms I mentioned.
In the Eclipse Downloads area, there are five Eclipse Europa distros:
- Eclipse IDE for Java™ Developers
- Eclipse IDE for Java Enterprise Edition (Java EE) Developers
- Eclipse IDE for C/C++ Developers
- Eclipse for Rich Client Platform (RCP)/Plug-in Developers
- Eclipse Classic
Each of these has different features and is targeted to a different audience. If you're only doing Java development, you wouldn't bother downloading or installing all the plug-ins and extensions that provide C or C++ features.
The Eclipse licensing model allows users to build whatever they want on the platform and re-release it as a unique distribution. (If this interests you, see the Eclipse Public License for details.) If you wanted to, you could download the Eclipse platform (see Resources) and start downloading plug-ins for it. When you like what you have, you can re-release it as a distro for Eclipse. You can even alter things like the startup screen (see Figure 4 for the standard Europa startup screen) and Welcome page (see Figure 5) to give the distribution your own branding. For more information about Eclipse, see the Licensing FAQ in Resources.
Figure 4. The standard Europa startup screen
Figure 5. The Welcome page
CodeGear, from Borland Software Corp., offers JBuilder 2008 Turbo, which is based on Eclipse Europa. It is available for Mac OS X, Microsoft® Windows®, and Linux®. JBuilder 2008 Turbo is the community edition of a full line of JBuilder 2008 products available from CodeGear. The download requires registration and is a pretty hefty download (the JBuilder 2008 Turbo version I downloaded for Mac was 1.1 GB). It comes with many features, including those used for visually modeling Enterprise JavaBean (EJB) elements and tools for streamlining team development.
JBuilder 2008 Turbo comes with many open source projects installed. It also gives you the opportunity to install a few different servers when you're performing the JBuilder installation.
Figure 6. Adding servers during installation
- Application Factory from CodeGear
- Swing Designer from Instantiations Inc.
- EJB Tools from CodeGear
- Mylyn from Eclipse.org
- Spring IDE from Spring IDE Developers
With JBuilder 2008 Turbo, you can do development in the following technologies right away:
- EJB development
- Swing user interfaces (UIs)
- Tapestry Web projects
- JavaServer Faces (JSF) projects
- Web services
- Access Subversion
In addition, JBuilder 2008 Turbo comes with the following plug-ins installed:
- m2eclipse for Maven2 integration
- Find Bugsfor static code analysis
- PMD for analyzing your Java code
EasyEclipse from nexB is an open and free site distribution that offers several versions of the distribution. Each supports Mac OS X, Linux, and Windows. EasyEclipse comes in several distributions:
- EasyEclipse Expert Java
- EasyEclipse Desktop Java
- EasyEclipse Server Java
- EasyEclipse Mobile Java
- EasyEclipse for Plugins and RCP Apps
Dynamic languages are also supported, such as EasyEclipse for LAMP, EasyEclipse for PHP, EasyEclipse for Ruby and Rails, and EasyEclipse for Python. Finally, you can download EasyEclipse for C/C++ development.
The EasyEclipse distros include the base Eclipse platform plus some commonly used and useful projects to make development easier. The EasyEclipse Desktop Java distro includes the base Eclipse platform plus those projects listed in Table 1 and more.
Table 1. Additional projects with nexB EasyEclipse
|AnyEdit Tools||Convenient context menu items, such as Open file under cursor|
|Eclipse Utils||Saves your cursor place in editors when closing Eclipse|
|Eclipse Visual Editor||Allows you to edit SWT, Swing, and AWT with a visual editor|
|EclipseNSIS||Allows you to create native installers for your Java applications|
|Subclipse||Provides access to Subversion source repositories|
A main feature of EasyEclipse is that it includes several plug-ins that are easy to download and install, already bundled for you, and tested to ensure that they work in the EasyEclipse distro. EasyEclipse comes with an installer written for your particular operating system. For instance, the Mac download includes a PKG installer (shown in Figure 7). The Windows download includes a Windows-style installer. While it is convenient that many Eclipse distros are simple ZIP files — including the distro from Eclipse.org. It's nice to have the installation built into the operating system to manage installing and uninstalling it.
Figure 7. The PKG installer for Mac
After installing EasyEclipse, you'll notice that the startup screen is slightly different when you start it up (see Figure 8). The additional features installed are Subclipse (the plug-in that enables you to connect to Subversion repositories), the Utils plug-in, the AnyEdit plug-in, and the Syntax coloring plug-in.
Figure 8. The EasyEclipse startup screen
Depending on which distro of EasyEclipse you download, you can do development in the following technologies right away:
- EJB technology
- Swing, AWT, or SWT UIs
- Access Subversion
For example, I downloaded the EasyEclipse Desktop Java distro and was quickly able to create an SWT visual shell class.
Figure 9. Creating a visual SWT class in EasyEclipse
Like EasyEclipse, IBM® offers no-hassle downloads — which don't require registration — for bundles of Eclipse. The links for the distros on the IBM page allow you to download versions built for Windows.
There are four distros on the IBM developerWorks page: Europa Java EE, testing, modeling, and enterprise. The enterprise distro includes all the other distros, so download that one to save time.
At first glance, the IBM-bundled distros look identical to those on the Eclipse Web site. For instance, the Eclipse Java EE distro on Eclipse.org and the Java EE distro on the IBM-bundled site might look like the same distro. They differ quite a bit in downloaded file size, but finding the features at first glance is a little trickier.
After downloading the IBM Europa bundles, you can do development in the following technologies right away:
- EJB technology
- Integration with IBM WebSphere® products
Innoopract, with its Yoxos On Demand Eclipse download service, provides a unique way of building and downloading your very own distro. Using a Web-based UI like the one shown in Figure 10, you select the features you want. When you're done, you can save your profile or start your download.
Figure 10. Using the Yoxos On Demand Eclipse download service
Features for the Innoopract distribution of Eclipse are difficult to enumerate because you add them as you want them. This a la carte method of building your own download is in itself a powerful feature, as is the ability to save your specification so you can use it later. Click the Yoxos On Demand Eclipse download service link in Resources for a full list of available plug-ins.
Because Innoopract offers the ability to build your own Eclipse distro, you can do pretty much anything you're able to add to your custom distro and download.
Depending on what you want to do, there is probably a commercial or free distro built on the Eclipse platform waiting for you. From C/C++, Ruby, PHP, Groovy, Java, and Web development, you can use an IDE built on Eclipse to help you.
"Getting Started with
OSGi: Introducing Declarative Services" provides an introduction to OSGi, one of the
specifications used by Eclipse's platform and plug-in framework.
Read about Equinox OSGi on
Wikipedia to learn more about the technology.
Learn more about Eclipse
For more information about licensing Eclipse distros, check out the Eclipse Public License FAQ.
Learn more about EasyEclipse.
Read about the features included with JBuilder 2008 Turbo.
Learn more about Yoxos On Demand from Innoopract.
Check out the "Recommended Eclipse reading list."
Browse all the Eclipse content on developerWorks.
New to Eclipse? Read the developerWorks article "Get started with Eclipse Platform" to learn its origin and architecture, and how to extend Eclipse with plug-ins.
Expand your Eclipse skills by checking out IBM developerWorks' Eclipse project resources.
To listen to interesting interviews and discussions for software developers, check out developerWorks podcasts.
Stay current with developerWorks' Technical events and webcasts.
Watch and learn about IBM and open source technologies and product functions with the no-cost developerWorks On demand demos.
Check out upcoming conferences, trade shows, webcasts, and other Events around the world that are of interest to IBM open source developers.
Visit the developerWorks Open source zone for extensive how-to information, tools, and project updates to help you develop with open source technologies and use them with IBM's products.
Get products and technologies
Get the IBM-bundled Europa downloads.
Check out the latest Eclipse technology downloads at IBM alphaWorks.
Download Eclipse Platform and other projects from the Eclipse Foundation.
Download IBM product evaluation versions, and get your hands on application development tools and middleware products from DB2®, Lotus®, Rational®, Tivoli®, and WebSphere®.
Innovate your next open source development project with IBM trial software, available for download or on DVD.
The Eclipse Platform newsgroups should be your first stop to discuss questions regarding Eclipse. (Selecting this will launch your default Usenet news reader application and open eclipse.platform.)
The Eclipse newsgroups has many resources for people interested in using and extending Eclipse.
Participate in developerWorks blogs and get involved in the developerWorks community.
Nathan Good lives in the Twin Cities area of Minnesota. Professionally, he does software development, software architecture, and systems administration. When he's not writing software, he enjoys building PCs and servers, reading about and working with new technologies, and trying to get his friends to make the move to open source software. He's written and co-written many books and articles, including Professional Red Hat Enterprise Linux 3, Regular Expression Recipes: A Problem-Solution Approach, and Foundations of PEAR: Rapid PHP Development.