blob: 14fae6884ad019f742ea3750d26921c2bdbc4d57 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
<TITLE>
What is Eclipse?
</TITLE>
<link rel="stylesheet" type="text/css" HREF="../book.css">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>
What is Eclipse?</H2>
<P >
Eclipse is a platform that has been designed from the ground up for building integrated web and application development tooling. By design, the platform does not provide a great deal of
end user functionality by itself. The value of the platform is what it encourages: rapid development of integrated features based on a
<b> plug-in</b> model.</P>
<P >
Eclipse provides a common user interface (UI) model for working with tools.&nbsp; It is designed
to run on multiple operating systems while providing robust integration with
each underlying OS.&nbsp; Plug-ins can program to the Eclipse portable APIs and
run unchanged on any of the supported operating systems.&nbsp;</P>
<P >
At the core of Eclipse is an architecture for dynamic discovery of plug-ins. The
platform handles the logistics of the base environment and provides a standard
user navigation model.&nbsp; Each plug-in can then focus on doing a small number of tasks well. What
kinds of tasks? Defining, testing, animating, publishing, compiling, debugging,
diagramming...the
only limit is your imagination.</P>
<H3>
Open architecture</H3>
<P >
The Eclipse platform defines an open architecture so that each plug-in development team can focus on their area of expertise. Let the
repository experts build the back ends and the usability experts build the end user tools. If the platform is designed well, significant new features and levels of integration can be added without impact to other tools.</P>
<P >
The Eclipse platform uses the model of a common workbench to integrate the tools from the end user's point of view. Tools that you develop can
plug into the workbench using well defined hooks called extension points.</P>
<P >
The underlying platform runtime uses the same extension model to allow plug-in developers to add support for additional
file types and customized installations, such as web servers, workgroup servers,
and repositories.&nbsp; The artifacts for each tool, such as files and other data, are coordinated by a common platform resource model.&nbsp;&nbsp;&nbsp;</P>
<P >
The platform gives the users a common way to work with the tools, and provides integrated management of the resources they create with plug-ins.&nbsp;&nbsp;</P>
<P >Plug-in developers also gain from this architecture.&nbsp; The platform
manages the complexity of different runtime environments, such as different
operating systems or workgroup server environments.&nbsp; Plug-in
developers can focus on their specific task instead of worrying about these
integration issues.</P>
<H3>
Platform structure</H3>
<P >
The Eclipse platform itself is structured as subsystems which are implemented in
one or more plug-ins.&nbsp; The subsystems are built on top of a small runtime engine.&nbsp; </P>
<P >
<img src="images/arch-npi.jpg" alt="" border="0" width="312" height="312"> </P>
<P >
The subsystems define extension points for adding behavior to the
platform.&nbsp; The following table describes the major runtime components of the platform that
are implemented as one or more plug-ins. </P>
<table border="1" width="100%">
<tr>
<td width="29%">
<H4>
Platform runtime</H4>
</td>
<td width="71%">Defines the extension point and plug-in model. It dynamically discovers plug-ins and maintains information in a platform registry.&nbsp;
Plug-ins are started up when required according to user operation of the
platform.</td>
</tr>
<tr>
<td width="29%">
<H4>Resource management (workspace)</H4>
</td>
<td width="71%">Defines API for creating and managing resources (projects,
files, and folders) that are produced by tools and kept in the file system.</td>
</tr>
<tr>
<td width="29%">
<H4>
Workbench UI</H4>
</td>
<td width="71%">Implements the user cockpit for navigating the resources and using the tool plug-ins. It defines extension points for adding UI components such as views or menu actions.&nbsp;
It includes additional toolkits (JFace and SWT) for building user
interfaces.</td>
</tr>
<tr>
<td width="29%">
<H4>
Help system</H4>
</td>
<td width="71%">Defines extension points for plug-ins to provide help or
other documentation as browsable books.</td>
</tr>
<tr>
<td width="40%">
<H4>Team support</H4>
</td>
<td width="60%">Defines a team programming model for managing and versioning resources.&nbsp;</td>
</tr>
<tr>
<td width="40%">
<h4>Debug support</h4>
</td>
<td width="60%">Defines a language independent debug model and UI classes
for building debuggers and launchers.</td>
</tr>
</table>
<H3>
Out of the box</H3>
<P >
Out of the box - or off the web - the basic platform is an integrated development environment (IDE) for anything (and nothing in particular). </P>
<P >
<img src="images/emptyworkbench.gif" alt="Workbench window" border="0" width="584" height="444"></P>
<P >
It's the plug-ins that determine the ultimate functionality of the platform.&nbsp;
That's why the Eclipse SDK ships with additional plug-ins to enhance the
functionality of the SDK.</P>
<P >
Your plug-ins can provide support for editing and manipulating additional types of
resources such as Java files, C programs, Word documents, HTML pages, and JSP files.</P>
<P >
<a href="../hglegal.htm"><img border="0" src="../ngibmcpy.gif" alt="Copyright IBM Corporation and others 2000, 2003." border="0" width="324" height="14"></a></P>
</BODY>
</HTML>