Vad är Eclipse?

Eclipse är en plattform som utformats ända från grunden till att bygga integrerade webb- och tillämpningsutvecklingsverktyg. Plattformen tillhandahåller med avsikt inte mycket slutanvändarfunktioner i sig själv. Plattformens värde ligger i vad den uppmuntrar: snabb utveckling av integrerade funktioner baserat på en insticksmodell.

Eclipse tillhandahåller en gemensam användargränssnittsmodell (UI-modell) för arbete på verktyg. Den är utformad för att köras på ett flertal operativsystem och vara väl integrerad med alla underliggande OS.  Insticksprogram kan programmera Eclipse portabla programmeringsgränssnitt (APIer) och köras utan att behöva ändras på alla operativsystem den har support för. 

Kärnan av Eclipse innehåller en arkitektur för dynamisk sökning, inläsning och körandet av insticksprogram. Plattformen hanterar logistiken kring att hitta och köra rätt kod. Plattforms-UIt tillhandahåller en standardmodell för användarnavigering. Varje insticksprogram kan sedan fokusera på att utföra ett litet antal uppgifter väl. Vilket slags uppgifter? Definiera, testa, animera, publicera, kompilera, felsöka, skapa diagram... den enda begränsningen är din fantasi.

Öppen arkitektur

Eclipse-plattformen definierar en öppen arkitektur så att varje utvecklingsgrupp för insticksprogram kan fokusera på det de kan bäst. Låt lagerexperterna bygga back end-delar och användbarhetsexperterna bygga slutanvändarverktygen. Om plattformen är välgjord går det att lägga till viktiga nya funktioner och integreringsnivåer utan att påverka andra verktyg.

Eclipse-plattformen använder en vanlig arbetsbänk som modell för att integrera verktygen från slutanvändarens synpunkt. Verktyg du utvecklar kan kopplas in i arbetsbänken med väldefinierade krokar som kallas utökningspunkter.

Själva plattformen består av lager med insticksprogram, som vart och ett definierar utökningar av utökningspunkterna i lågnivåinsticksprogram, och sedan i sin tur definierar sina egna utökningspunkter som kan anpassas. Den här utökningsmodellen gör det möjligt för utvecklare att lägga till starkt varierande funktioner i grundverktygsplattformen. Objekten som används av de olika verktygen, såsom filer och andra data, koordineras med en gemensam resursmodell för plattformen.

Plattformen ger användarna ett gemensamt sätt att arbeta med verktygen och tillhandahåller integrerad resursadministration för resurserna de skapar med insticksprogram.

Utvecklarna av insticksprogram vinner också på den här arkitekturen. Plattformen hanterar komplexiteten i olika körningsmiljöer, som exempelvis olika operativsystem och servermiljöer för arbetsgrupper. Utvecklare av insticksprogram kan fokusera på sin specifika uppgift istället för att behöva oroa sig för de här integreringsproblemen.

Plattformsstruktur

Eclipse-plattformen är strukturerad som undersystem som implementeras i ett eller flera insticksprogram.Delsystemen byggs ovanpå en liten runtime-motor.  Bilden nedan visar en förenklad vy.

Plattformens runtime-bas med grupper av insticksprogram som lägger till funktioner

Insticksprogrammen som bildar ett underordnat system definierar utökningspunkter för att lägga till beteenden i plattformen. I följande tabell beskrivs de viktigaste runtime-komponenterna som implementeras som ett eller flera insticksprogram för plattformen.

Plattformsruntime

Definierar utökningspunkten och modellen för insticksprogram. Det söker dynamiskt efter insticksprogram och underhåller information om insticksprogrammen och deras utökningspunkter i ett plattformsregister. Insticksprogram startar när så behövs i enlighet med användarnas bruk av plattformen. Runtime implementeras i enlighet med OSGi-ramverket.

Resurshantering (arbetsytor)

Definierar API för att skapa och administrera resurser (projekt, filer och mappar) som produceras av verktyg och lagras i filsystemet.

Arbetsmiljöns användargränssnitt

Implementerar användarens styrsystem för navigering i plattformen. Det definierar utökningspunkter för att lägga till UI-komponenter som vyer och menyåtgärder.  Det tillhandahåller ytterligare verktygsuppsättningar (JFace och SWT) för att bygga användargränssnitt. UI-tjänsterna är strukturerade så att en delmängd av UI-insticksprogrammen går att använda till att bygga Rich Client-tillämpningar som är oberoende av modellen för resurshantering och arbetsyta. Insticksprogram anpassade till IDE-standard definierar ytterligare funktioner för navigering och hantering av resurser.

Hjälpsystemet

Definierar utökningspunkter där insticksprogram kan ge hjälp och annan dokumentation som bläddringsbara böcker.

Gruppfunktioner

Definierar en grupprogrammeringsmodell för administration och versionshantering av resurser. 

Felsökningsfunktioner

Definierar en språkoberoende felsökningsmodell och gränssnittsklasser för att bygga felsökare och startprogram.

Andra verktyg

Andra verktyg som är insticksprogram tillhandahåller funktioner för att söka i och jämföra resurser, skapa byggen med hjälp av XML-konfigurationsfiler och att dynamiskt uppdatera plattformen från en server.

Vid leverans

Redan vid leverans är grundplattformen en integrerad utvecklingsmiljö (IDE, integrated development environment) förr alla ändamål (utan att vara specialiserat alls).

Arbetsmiljöfönster

Det är insticksprogrammet som är avgörande för plattformens funktionalitet.  Det är orsaken till varför Eclipse SDK levereras med ytterligare insticksprogram för att utöka funktionerna i SDK.

Dina insticksprogram kan ge support vid redigering och arbete med ytterligare typer av resurser som Java-filer, C-program, Word-dokument, HTML-sidor och JSP-filer.