You've seen it in the headlines. You know colleagues who use it. Maybe you even gave it a try. These days, most of the Java world seems to talk about it. But what exactly is it?
This article is the first in a series that will take you on a guided tour of Eclipse. With its recent 3.1 release, Eclipse is solidifying its position as one of the most popular Java development environments and broadening its reach into the rich client space. Its developer community is growing rapidly and the momentum behind Eclipse is strong as ever. In this installment, you will look at Eclipse as a project—what technologies it provides, how it is developed, and who participates in the community around it. This will set up the proper context for subsequent installments, which will focus on more specific topics.
To most, Eclipse is an integrated development environment (IDE) for writing Java code. It is open-source and free for anyone to download. It provides everything a good IDE should have: an advanced Java source editor with incremental compilation, application debugging support, support for version control systems, and so on. In fact, over the past few years Eclipse has won numerous awards as the top Java IDE, including a Development Tool of the Year from developer.com. And its user base continues to expand.
Even if you are an Eclipse user, what you may not realize is that it is a lot more than just a Java IDE. Initially, Eclipse started as a tool integration platform. The original Eclipse developers recognized that there is a common set of infrastructure with a potential to be useful not just for a Java IDE, but other integrated development tools as well, regardless of their underlying programming languages. Indeed, today there are Eclipse-based IDEs for developing applications in C/C++, COBOL, PHP, Eiffel, Ruby, and others.
However, after a few initial releases, the developer community quickly realized the potential of using Eclipse technology in contexts other than software development. Its modular architecture and solid extension and customization strategy allowed anyone to create applications not originally anticipated by Eclipse developers. Thus, over the last few releases, Eclipse expanded its focus from being a tool integration platform to a full-fledged rich client platform (RCP). Its various components and frameworks have been refactored in a way that makes it possible to use Eclipse as the foundation for both IDE and non-IDE applications. Today, the list of companies building their products on Eclipse RCP is rapidly growing. Soon, you may find yourself using an Eclipse RCP application, whether you actually realize it or not.
So what exactly does Eclipse provide? What is its architecture? And who develops it? Take a look.
|What's in the Name?|
|You may have heard a rumor that IBM selected the name Eclipse specifically to suggest that the new project would obscure, or eclipse, Sun Microsystems and its products. However, whenever you ask one of the original project founders, they'll tell you that the name was selected because at the time, project names starting with an "e" were popular. The word "eclipse" sounded right and so it stuck. In fact, as you can tell from the recent press releases, Eclipse aims to be an industry unifier, rather than the opposite.|
The best way to learn about Eclipse is to download the Eclipse SDK, which provides everything necessary to write Java code and even develop Eclipse plugins—the fundamental building blocks of any Eclipse application. Later on, you will take a closer look at just what Eclipse plugins are. Before you start downloading the SDK, please make sure your system satisfies the minimum requirements (see the sidebar). The size of the download is approximately 100 MB.
|Minimum System Requirements|
The minimum system requirements of an Eclipse-based product actually depend on the kind and number of plugins that comprise it. Whereas the documentation does not explicitly state it, Eclipse SDK 3.1 will run on a Pentium-class machine with a minimum of 256 MB of RAM (the more, the better, of course; you may succeed with less, but I don't recommend it for a good user experience).
Another important pre-requisite that you must have before you can use Eclipse is a compatible Java Runtime Environment because the Eclipse SDK does not include one. Which specific JRE you should use depends on your hardware platform and operating system, but generally, you need a version 1.4 or later. See the Target Operating Environments section of the Eclipse Project 3.1 Plan for a list of Eclipse Reference Platforms (in other words, platform configurations on which Eclipse SDK 3.1 was explicitly tested and validated).
To download a free copy of the Eclipse SDK, go to the Eclipse Web site at http://www.eclipse.org. The first page you will see aggregates several topics, such as the latest project news, community announcements, and articles. After clicking the downloads link on the left-hand side, you will get a page with links to everything that is available for download. The center column lists all the projects and subprojects; the right-hand column shows Featured and Top-10 downloads. To a newcomer, the sheer number of links may be overwhelming. Luckily, the one we're currently interested in is displayed prominently in bold at the top—Eclipse SDK 3.1. The server makes the best guess as to what platform and operating system you're using, based on the information provided by your browser. Click the link to see a list of Eclipse download mirrors, grouped according to the geographic region they serve. For shortest download times, find the one closest to you. Note that a mirror site may not have the particular file you're trying to download, especially if it has been released only recently. If that is the case, choose the main download site. When you click the corresponding link, your download will begin. Extract the downloaded archive into an arbitrary location in your filesystem. It will create an eclipse directory with the contents of the entire Eclipse SDK. No other files need to be installed or configured.
Figure 1: Typical Eclipse SDK directory layout
Launching the eclipse executable (for example, eclipse.exe in Windows) from the eclipse directory will start the Workbench—the main Eclipse IDE window. First, you will be prompted for the location of your workspace, which is a directory where Eclipse stores your particular preferences, temporary files, and other application-specific data.
Figure 2: Eclipse SDK launch dialogThe dropdown remembers all workspace locations you have previously used with this particular installation. Specify an arbitrary path in your filesystem (for example, the default selection should be just fine) and click OK. The Eclipse Workbench will open up in the Java perspective—a set of views, menus, and toolbars that help you write Java code. On the right-hand side, you will see a Welcome view with information, links, and instructions on how to start using the application. I encourage you to explore the Workbench and especially the well-written and quite comprehensive on-line help, which will, among other things, walk you through creating a Java project. You will explore this particular topic in more detail in the next installment of this series.