Runtime-plugin-model

Platformens runtime-program startes, når en bruger starter et program, der er udviklet med Eclipse. Runtime implementerer den grundlæggende plugin-model og infrastruktur, som platformen benytter. Den holder styr på alle installerede plugins og de funktioner, de stiller til rådighed.

En plugin er en struktureret komponent, der leverer kode (eller dokumentation eller begge dele) til systemet og beskriver den på en struktureret måde. Plugins kan definere udvidelsespunkter, definerede funktionspunkter, som kan udvides af andre plugins. Når en plugin leverer en implementering for et udvidelsespunkt, kaldes det at tilføje en udvidelse til platformen. Disse udvidelser og udvidelsespunkter erklæres i plugin'ens manifestfil (plugin.xml).

At bruge en fælles udvidelsesmodel giver plugins en struktureret måde, hvorpå de kan beskrive de måder, de kan udvides på, og klient-plugins får en måde, hvorpå de kan beskrive de udvidelser, de leverer. At definere et udvidelsespunkt svarer til at definere enhver anden API. Den eneste forskel er, at udvidelsespunktet erklæres vha. XML i stedet for en kodesignatur. På samme måde bruger en klient-plugin XML til at beskrive dens specifikke udvidelse til systemet.

Et generelt runtime-mål er, at slutbrugeren ikke skal "straffes", hvad angår hukommelse og ydeevne, pga. plugins, der er installeret, men ikke benyttet. På grund af platformens udvidelsesmodel, som er baseret på erklæringer, kan runtime-programmet bestemme, hvilke udvidelsespunkter og udvidelser der leveres af en plugin, uden at plugin'en nogensinde udføres. Derfor kan mange plugins være installeret, men ingen aktiveres, før der anmodes om en funktion via brugerens aktivitet, og funktionen leveres af en plugin. Dette er vigtigt, når der skal stilles en skalérbar og robust platform til rådighed.