
This article describes the overview of the Eclipse IDE (www.eclipse.org)
Eclipse Platform
The Eclipse Platform is designed and built to meet the following requirements [8]:
- Support the construction of a variety of tools for application development.
- Support an unrestricted set of tool providers, including independent software vendors (ISVs).
- Support tools to manipulate arbitrary content types (e.g., HTML, Java, C, JSP, EJB, XML, and GIF).
- Facilitate seamless integration of tools within and across different content types and tool providers.
- Support both GUI and non-GUI-based application development environments.
- Run on a wide range of operating systems, including Windows and Linux.
- Capitalize on the popularity of the Java programming language for writing tools.
The Eclipse platform's principal role is to provide tool providers with mechanisms to use, and rules to follow, that lead to seamlessly-integrated tools. These mechanisms are exposed via well-defined API interfaces, classes, and methods. The Platform also provides useful building blocks and frameworks that facilitate developing new tools.
Eclipse Functionalities
Basically Eclipse has three main functionalities [9]:
- A Java Development Environment
Eclipse is a superlative Java development environment. The philosophy behind the Java development tools in Eclipse is to make development process as productive as possible by automating mundane and time consuming operations and by providing advanced tools to help the developer.
The Java editor provides syntax highlighting, code completion, code assist and several complementary views to show the structure of the code and the tasks left to complete.
- A Tool Integration Platform
Eclipse is more than just an IDE, it is also a foundation or technology platform for tool integration. Eclipse provides a common way for all members of a team to work together to create, manipulate, and manage sets of resources.
Eclipse accomplishes this by providing architecture and a set of Java frameworks that make writing integrated tools easier. Experienced developer can use Eclipse to build tools and to integrate the myriad of tools which are used for doing the jobs. For example, developer can use the power and extensibility in the Java Development Tools (JDT) to create additional integrated Java tools. This feature is the main reason why author selects Eclipse as platform for this thesis.
- Open Source Community
Eclipse.org is a collection of technical professionals united by a common interest in using and contributing to the production of a base for tool integration and a set of tools integrated on that base or platform. Through collaboration, corporate professionals, researchers, members of academia, and individual developers who build on Eclipse can further the goal of producing interoperable products and offerings.
From the Eclipse website http://www.eclipse.org, it can be observed that “the mission of Eclipse Project is to adapt and evolve the Eclipse technology to meet the needs of the Eclipse tool building community and its users, so that the vision of Eclipse as an industry platform is realized.” The Eclipse Tools project is for those extending the platform or delivering tools based on it.
The Eclipse Look
The Eclipse user interface basically has three main parts:
- Editors
Editors allow developer to create and change resources, and are associated with a specific resource type. The main focus of developer will be working in an editor. The panes surrounding the editor support the active editing.
- View
A view presents a way to navigate through resources or other information in Eclipse. In Eclipse, the developer is allowed to change resources through view. Modifications made in views show up immediately, as opposed to work done in editors, where developer needs to save changes before they appear.
View can be resized, stacked, tiled, and placed on the shortcut bar. Views complement the file opened in the editor. When developers change data in a view, the contents of that file are modified when they save the file.
- Perspective
A perspective in Eclipse defines a set of editors and views arranged in an initial layout for a particular role or task. For example, the debug perspective is designed for the task of debugging source code. The initial layout of the Resource perspective lists folders and files in the Navigator view, and contains an editor area and supporting views such as the Outline and Tasks views. Eclipse can have one or more perspectives open at a time. Perspectives also can be designed with a predefined set of functions available through the menu bar and toolbar that you can perform while in the perspective. Eclipse has the following perspectives.
- Resource
- Java
- Java Browsing
- Java Type Hierarchy
- CVS Repository Exploring
- Debug
- Install/Update
- Plug-in Development
The Eclipse user interface is shown in the next figure