Eclipse je platforma, která byla navržena od základu k sestavování integrovaných webových a vývojářských nástrojů aplikací. Jak vyplývá z jejího návrhu, tato platforma neposkytuje jako taková mnoho funkčního vybavení koncovým uživatelům. Hodnota této platformy je v tom, co podporuje: rychlý vývoj integrovaných vlastností na základě modelu modulů plug-in.
Eclipse poskytuje model společného uživatelského rozhraní pro práci s nástroji. Platforma je navržena pro běh ve více operačních systémech a současně poskytuje s každým základním operačním systémem robustní integraci. Moduly plug-in mohou programovat do přenosných rozhraní API Eclipse a běžet v nezměněné podobě v každém z podporovaných operačních systémů.
V jádře Eclipse je architektura pro dynamické zjišťování, načítání a spouštění modulů plug-in. Platforma zvládá logistiku nalézání a spouštění správného kódu. Platforma uživatelského rozhraní poskytuje standardní uživatelský navigační model. Každý plug-in se pak může soustředit na zdárné provádění malého počtu úloh. Jaké to jsou úlohy? Definování, testování, animace, publikace, kompilace, ladění, sestavování diagramů... jediným omezením je vaše představivost.
Platforma Eclipse definuje otevřenou architekturu, takže každý vývojový tým modulu plug-in se může soustředit na úkol v rámci své oblasti odborných znalostí. Umožněte odborníkům na úložiště pracovat v oblasti zálohování a odborníkům na využitelnost pracovat na nástrojích pro koncové uživatele. Pokud je platforma dobře navržena, je možné přidat významné nové funkce a úrovně integrace bez dopadu na ostatní nástroje.
Platforma Eclipse používá model společného modulu workbench (pracovní plochy) k integraci nástrojů z hlediska koncového uživatele. Nástroje, které vyvíjíte, je možné zapojit do pracovní plochy pomocí dobře definovaných záchytných bodů zvaných body rozšíření.
Platforma sama o sobě je sestavena ve vrstvách z modulů plug-in, z nichž každý definuje rozšíření k bodům rozšíření modulů plug-in nižší úrovně a naopak definuje vlastní body rozšíření pro pozdější uživatelské úpravy. Tento model rozšíření umožňuje vývojářům modulů plug-in přidávat do základní nástrojové platformy nejrůznější funkce. Artefakty pro každý nástroj, jako jsou soubory a další data, jsou koordinovány společným modelem prostředků platformy.
Platforma dává uživatelům společný způsob jak pracovat s nástroji a nabízí integrovanou správu vytvářených prostředků a modulů plug-in.
Vývojáři modulů plug-in mají z této architektury rovněž prospěch. Platforma se přizpůsobí komplexnosti různých běhových prostředí, jako jsou rozdílné operační systémy nebo prostředí serverů pracovních skupin. Vývojáři modulů plug-in se mohou soustředit na své konkrétní úlohy a nemusejí se obávat integračních problémů.
Platforma Eclipse je sama o sobě strukturována jako subsystémy, které jsou implementovány v jednom nebo více modulů plug-in. Tyto subsystémy jsou vybudovány nad malým běhovým jádrem. Obrázek níže zobrazuje zjednodušený pohled.
Moduly plug-in, ze kterých je vybudován subsystém, definují body rozšíření pro přidání chování k platformě. Následující tabulka popisuje hlavní běhové komponenty platformy, které jsou implementovány jako jeden nebo více modulů plug-in.
Běhová komponenta platformy |
Definuje model bodů rozšíření a modulů plug-in. Dynamicky nalézá moduly plug-in a udržuje informace o modulech plug-in a jejich bodech rozšíření v registru platformy. Moduly plug-in jsou spouštěny podle potřeby na základě činnosti uživatele platformy. Běhová komponenta je implementována pomocí rámce OSGi. |
Správa prostředků |
Definuje rozhraní API pro vytváření a správu prostředků (projektů, souborů a složek), které jsou produkovány nástroji a uchovávány v systému souborů. |
Uživatelské rozhraní pracovní plochy |
Implementuje ovládací stanoviště uživatele pro navigaci v platformě. Definuje body rozšíření pro přidávání komponent uživatelského rozhraní, jako např. pohledy nebo akce nabídek. Dodává dodatečné sady nástrojů (JFace a SWT) k sestavování uživatelských rozhraní. Služby uživatelského rozhraní jsou strukturovány tak, že může být použita podmnožina modulů plug-in uživatelského rozhraní k sestavení klientských aplikace rich, které jsou nezávislé na správě prostředků a modelu pracovního prostoru. Moduly plug-in zaměřené na IDE definují dodatečnou funkci pro navigační a manipulační prostředky. |
Systém nápovědy |
Definuje body rozšíření pro moduly plug-in k poskytování nápovědy nebo jiné dokumentace v podobě příruček k prohlížení. |
Týmová podpora |
Definuje model týmového programování pro řízení a správu verzí prostředků. |
Podpora ladění |
Definuje jazykově nezávislý model ladění a třídy uživatelského rozhraní pro sestavování ladicích programů a spouštěčů. |
Další obslužné programy |
Moduly plug-in dalších obslužných programů dodávají funkce, jako např. vyhledávání a porovnávání prostředků, vlastní sestavování pomocí konfiguračních souborů XML a dynamické aktualizace platformy ze serveru. |
Něco navíc - mimo webové prostředí - základní platforma je integrovaným vývojovým prostředím (IDE) pro cokoliv (a také pro nic).
Skutečné meze funkčnosti platformy určují moduly plug-in. To je důvodem, proč se vývojářská sada Eclipse SDK dodává s dalšími moduly plug-in, aby se rozšířila jeho funkčnost.
Vaše moduly plug-in mohou poskytnout podporu pro editování a manipulaci s dalšími typy prostředků, jako jsou např. soubory Java, programy v jazyce C, dokumenty Word, stránky HTML a soubory stránek JSP.