## Concepts

## Host vs. runtime

One of the most important concepts in PDE to understand is that of host and runtime workbench instances.

When you start up the workbench, you will use it to work on your projects that define the plug-ins you are building. The workbench instance that you are running as you develop your plug-in using the PDE and other tools is the host instance. The features available in this instance will come exclusively from the plug-ins that are installed with your application.

Once you are happy with your plug-in and want to test it, you can launch another workbench instance, the runtime instance. This instance will contain the same plug-ins as the host instance, but will also have the plug-ins you were working on in the host instance. PDE launcher will take care of merging your plug-ins with the host plug-ins and creating the run-time instance.

## Target Platform

Target Platform refers to the Eclipse product against which the plug-ins you are developing will be compiled and tested. The Target Platform must therefore be the same platform in which you plan to deploy your plug-ins.

The location of the target platform is set on the Plug-in Development > Target Platform preference page. By default, the target platform is the same as the platform you are using for development, but this is not required. You can set the target platform to whatever Eclipse-based product you want. For example, if you want to take advantage of the latest and greatest Eclipse 3.0 features to develop for plug-ins that will be deployed in a product based on a 2.x Eclipse, you can use Eclipse 3.0 as your development platform and a 2.x-based product as your target platform.

All the plug-ins found in the target platform location specified by the user are listed on the preference page. However, only the plug-ins that are explicitly checked constitute the target platform; the rest are ignored by PDE. By default, all plug-ins are checked.

## External vs. workspace plug-ins

When developing Eclipse plug-ins, the set of plug-ins that you will be used to run the runtime workbench come from two distinct places: the workspace of the host instance and the target platform. Although, to PDE, all plug-ins are the same no matter where they come from, there are a few differences that quickly become evident to users.

- Workspace plug-ins are those plug-ins under development in your host workbench. They are under your control and can be added, deleted and modified by the user.
- External plug-ins are plug-ins that arrived with the basic platform installation and are simply referenced from their original location without modification. You can reference them, browse them, view their source and debug them, but they are read-only.