Eclipse Platform
Technical Overview
Object Technology International, Inc.
February 2003 (updated for 2.1; originally published July 2001)
Abstract: The Eclipse Platform is designed for building integrated development environments
(IDEs) that can be used to create applications as diverse as web sites, embedded JavaTM programs,
C++ programs, and Enterprise JavaBeansTM. This paper is a general technical introduction to the
Eclipse Platform. Part I presents a technical overview of its architecture. Part II is a case study of
how the Eclipse Platform was used to build a full-featured Java development environment.
Contents
Introduction
Part I: Eclipse Platform Technical Overview
Platform Runtime and Plug-in Architecture
Workspaces
Workbench_and_UI_Toolkits
SWT
JFace
Workbench
UI_Integration
Team Support
Help
Epilogue
Part II: Case Study of Using the Eclipse Platform - Java Development Tooling
JDT_Features
JDT Implementation
Java_Projects
Java_Compiler
Java_Model
Java_UI
Java Run and Debug
Epilogue
Eclipse Platform Technical Overview 1
Introduction
The Eclipse Platform is an IDE for anything, and for nothing in particular.
Figure 1 shows a screen capture of the main workbench window as it looks with only the standard
generic components that are part of the Eclipse Platform.
Figure 1. Eclipse Platform UI.
The navigator view (Figure 1, top left) shows the files in the user's workspace; the text editor (top
right) shows the content of a file; the tasks view (bottom right) shows a list of to-dos; the outline
view (bottom left) shows a content outline of the file being edited (not available for plain text files).
Although the Eclipse Platform has a lot of built-in functionality, most of that functionality is very
generic. It takes additional tools to extend the Platform to work with new content types, to do new
things with existing content types, and to focus the generic functionality on something specific.
The Eclipse Platform is built on a mechanism for discovering, inte