A plataforma Eclipse está estruturada como motor de tempo de execução de núcleo e um conjunto de funções adicionais que são instaladas como plug-ins de plataforma. Os plug-ins contribuem com funcionalidades para a plataforma mediante contributos de pontos de extensão predeterminados. A UI (user interface - interface de utilizador) da área de trabalho é contributo de um desses plug-ins. No arranque da área de trabalho, não se inicia um único programa Java. Activa-se um tempo de execução de plataforma que pode descobrir dinamicamente plug-ins registados e iniciá-los conforme o necessário.
Para facultar código a fim de estender a plataforma, definem-se extensões de sistema no plug-in. A plataforma tem um conjunto de pontos de extensão bem definidos - sítios onde se pode ligar à plataforma via gancho e contribuir com comportamentos de sistema. Na perspectiva da plataforma, o plug-in não difere dos plug-ins básicos como, por exemplo, o sistema de gestão de recursos ou a própria área de trabalho.
Posto isto, como é que o código se transforma em plug-in?
O processo de criação de um plug-in demonstra-se melhor implementando um velho clássico, "Hello World" (hello world), como plug-in. A intenção deste exemplo consiste em dar ao utilizador uma amostra das diferenças entre o desenvolvimento de plug-ins e o desenvolvimento de aplicações Java. Saltaremos vários detalhes para passarmos à construção e execução do plug-in. Depois veremos pontos de extensão em mais detalhe, como são definidos, e como os plug-ins descrevem a sua implementação de uma extensão.