Eclipse Közösség, projektek, IDE
Eclipse • egy nyílt forráskódú (open source) projekteken dolgozó közösség, céljuk egy kiterjeszthető fejlesztői platform és keretrendszer fejlesztése, amely megoldásokkal szolgálhat a szoftverfejlesztés minden szakaszában. • Az Eclipse projektek legközismertebb tagja a népszerű Eclipse fejlesztői környezet (Eclipse IDE), de az Eclipse sokkal több ennél. A közösség több mint 100 open source projekten dolgozik, amelyek az alábbi főbb kategóriákba sorolhatóak: • • • • • • • •
CORE (Equinox, RCP, JDT) Vállalati fejlesztés (Enterprise Development) Keretrendszerek (Application Frameworks) Integrált fejlesztői környezetek (IDE) Fejlesztéssel, modellezéssel, verifikációval és validációval kapcsolatos eszközök Beágyazott rendszerek fejlesztése (Embedded and Device Development) Internetes alkalmazások (Rich Internet Applications) Projektek életciklusának managementje (Application Lifecycle Management) • Szolgáltatás orientált architektúrák (Service Oriented Architecture (SOA)) • Más projektek (pl. BIRT)
Az Eclipse története • IBM fejlesztés – 1998 – 2001 (2001 –től open source) (a VisualAge fejlesztések utódja) • 2001 - Borland, IBM, MERANT, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft and Webgain: eclipse.org Board of Stewards in November 2001
• • • • •
2003 – a szervezetnek már 80 tagja van 2004 - Eclipse foundation – az Eclipset támogató non-profit szervezet Aktuális verzió: Galileo (platform verzió: 3.5, kiadás: 2009) Eclipse Public Lincense (EPL) http://www.eclipse.org/
Fontosabb projektek • Eclipse Runtime (ERT) • Equinox - az OSGi R4 (Open Services Gateway initiative – standard, keretrendszer + szolgáltatások) keretrendszer specifikációjának implementálása, az Eclipse RCP erre a keretrendszerre épül • Eclipse Communication Framework
• Eclipse Project • Eclipse Platform - az RCP magja • Java Development Tools (JDT) • Plugin Development Environment (PDE) - eszközök Eclipse plug-in-ok létrehozására, fejlesztésére, tesztelésére, alkalmazására; update site-ok, RCP termékek, komponens alapú programozási környezet – a Platformra épül és az SDK része
• Eclipse Technology Project • Community-driven Systems Management in Open Source Project • Subversive • Eclipse Packaging Project
Fontosabb projektek • Device Software Development Platform – beágyazott rendszerekkel kapcsolatos fejlesztések • Mobile Tools for Java - fejlesztési eszközök hordozható készülékekhez és J2ME (Java 2 Platform Micro Edition) fejlesztésekhez • Embedded Rich Client Platform (ERCP) - az RCP beágyazott rendszerek részére fejlesztett része (Nokia Series 80 stb.)
• Business Intelligence and Reporting Tools (BIRT) – webes és .pdf jelentések, grafikonok, jelentésekkel kapcsolatos modulok beépítése RCP alapú applikációkba • Data Tools Platform (DTP) – keretrendszer és eszközök adatfeldolgozásra épülő Java applikációk fejlesztéséhez • SOA Tools – szolgáltatás orientált architektúrával kapcsolatos keretrendszerek • Eclipse Modeling Project – modell alapú fejlesztéssel kapcsolatos keretrendszerek, eszközök
Fontosabb projektek • Tools Project • • • • •
AspectJ, AspectJ Development Tools C/C++ Development Tooling (CDT) PHP Development Tools COBOL IDE Visual Editor (VE)
• Test and Performance Tools Platform • Monitoring Tools • Testing Tools
• Eclipse Web Tools Platform • AJAX Tools Framework • Web Services Tools
Eclipse – Java IDE
Alapvető funkcionalitások • Szintakszis szerinti színezés (syntax highlight), java forrásfájlokra • Kódkiegészítés, lehetőségek felajánlása • Beépített és saját kódsablonok • Automatikus kódformázás • Erős refactoring támogatás (osztály, metódus átnevezések, áthelyezések) • Automatikus kódgenerálás (getter/setter-ek, konstruktorok, absztrakt metódusok, try-catch blokkok) • Forrás részletek elrejtése, megjelenítése (folding) • Java dokumentáció megmutatás popup ablakban • Hívási fa és fordított hívási fa megjelenítése (melyik metódust honnan hívják) • Potenciális programozási problémák jelzése, csoportosítása • Integrált futtatási és paraméterezési lehetőségek • JUnit teszt futtatási lehetőségek • Ant támogatás • TODO lista támogatás • Debug opciók, töréspontok
Plugin szerkezet • Nincs installer, nem tartalmaz JRE-t (min. 1.4.2 szükséges) • Az alap Eclipse disztribúció önmagában is használható Java alkalmazások fejlesztésére, de gyakran szükség van különböző egyéb funkciókra: • • • • • • • •
Grafikus GUI szerkesztők UML Diagram szerkesztők XML támogatás J2EE és webalkalmazás fejlesztések támogatása J2ME támogatás Verifikációs és validációs eszközök Verziókezelő támogatás (CVS, SVN) stb.
• A fejlesztőkörnyezet plug-in-ek letöltésével és telepítésével bővíthető. Ez a funkció a Help - Software Updates menüpontban érhető el. Az Interneten több száz plug-in található, amelyekről érdemes az Eclipse honlapján vagy az Eclipse Plugin Central-ban tájékozódni.