Eclipse
Drupal Suomen wiki
| Eclipse | |
| Kehittäjä: | Eclipse Foundation |
|---|---|
| Uusin versio: | 3.3 25.6.2007 |
| Käyttöjärjestelmä: | Useimmat Java SE:tä tukevat |
| Lisenssi: | Eclipse License |
| Kotisivu | http://www.eclipse.org/ |
IBM:n alkujaan kehittämä avoimen koodin ohjelmointiympäristö erityisesti Javalle. Osaprojekteina myös muita ohjelmointikieliä ja työvälineitä.
Sisällysluettelo |
[muokkaa] Kuvaus
Eclipse mielletään usein virheellisesti pelkästään Java-kehitysvälineeksi. Eclipse ei yksinään liity mihinkään tiettyyn ohjelmointikieleen tai edes välineeseen, vaan projektiin ja järjestöön sekä näiden muodostamaan yhteisöön.
Ohjelmistoalalla pelkkä nimi "Eclipse" viittaa kuitenkin yleisesti juuri Java Development Tools -projektin Java IDE -kehitysvälineeseen. Vaikka Eclipse-projektissa on nykyisin useita muita ohjelmointikieliä, on Javalla historiallisista syistä erityisasema: Eclipse itsessään on ohjelmoitu Javalla, ja Java-välineet ovat olleet mukana projektin alusta saakka.
[muokkaa] Historia
Eclipsen taustalta löytyy kanadalaisen Object Technologies Internationalin valmistama Smalltalk-väline Envy. IBM kiinnostui yhtiöstä, sillä se tarvitsi kehittäjä Visual Age -tuotteilleen. Vuonna 1996 IBM osti OTI:n ja pian syntyivät Visual Age for Smalltalk sekä Visual Age for Java. Vuonna 1999 IBM ja OTI aloittivat uuden kehityshankkeen, joka johti nykyiseen Eclipseen.
Eclipse-hankkeen suuntaan vaikutti kaksi ohjelmistoalan trendiä: avoin lähdekoodi ja arkkitehtuurien murroskausi. Ohjelmistokomponentit ja eri valmistajien tuotteista kootut web-sovellukset tekivät nopeasti tuloaan. Myös Microsoftin vahvistuva asema sovelluspalvelujen toteutusalustana koettiin uhkana.
IBM aloitti Eclipse-kehitysprojektin, jonka tavoitteena oli luoda kilpailukykyinen Java-kehitysväline, mutta ennen kaikkea haastaja Microsoftin .NET-alustalle ja sen Visual Studio -välineelle.
Eclipse-projektissa ei syntynyt pelkkää Java-välinettä, vaan ohjelmointikielistä riippumaton ja komponenttimalliin vahvasti nojautuva yleiskäyttöinen sovellusalusta.
[muokkaa] Arkkitehtuuri
Eclipse Project jakautuu IDE-alustaan (Platform), OSGi-komponenttiympäristöän (Equinox), Java-kehitysvälineisiin (Java Development Tools) ja kehitysympäristön laajentimeen (Plug-in development Environment).
Platform-alaprojektissa kehitetään kieliriippumatonta ja yleiskäyttöistä koodinmuokkausympäristöä. Se sisältää kaikkien yhteisen ytimen ja komponenttien. Platform tarjoaa peruspalveluja kuten projektien ja tiedostojen hallinnan, koodin syntaksirakenteita ymmärtävän tekstimuokkaimen, asetusdialogit ja tilannekohtaisen opastustoiminnon.
Platform ei yksinään riitä kehittämiseen, vaan sen rinnalle tarvitaan yksi tai useampia kielipaketteja ja kääntäjiä. Eclipse SDK -oletusjakelussa on mukana Java-kehitysympäristö (JDT) ja -kääntäjä (ECJ), mutta näiden rinnalle tai tilalle voi asentaa yhtä hyvin muitakin kieliä. Suosituin vaihtoehto Javalle on ollut perinteisesti C/C++ (CDT), näiden lisäksi löytyy mm. PHP, COBOL, Fortran, Python, Perl sekä Ruby.
Uuden ohjelmointikielen asennus tuo editoriin syntaksituen, projekti-ikkunaan kielelle tyypillisiä näkymiä (esim. luokkahierarkia ja resurssit) ja sovellusten kokoamiseen sekä testaamiseen tarvittavat taustavälineet.
Eclipsen toteutuksessa käytettyjä kirjastoja on yleistetty niin, että myös muut sovelluskehittäjät voivat hyödyntää niitä sovelluksissaan. Näistä tunnetuimpia ovat RCP-ajoalusta ja SWT-luokkakirjasto.
[muokkaa] RCP
Eclipse IDE-kehitysympäristön perustana on RCP eli Rich Client Platform. RCP huolehtii käyttöliittymän korkeamman tason toiminnoista ja toteuttaa mm. dokumentti-ikkunoiden ja asetushallinnan perustoiminnot.
RCP-alusta soveltuu parhaiten sovelluksille, joissa käsitellään tekstiä, kaavioita ja grafiikkaa monen ikkunan ns. "kojelauta-näkymässä". RCP:llä on toteutettu usein instrumenttien ja mittalaitteiden hallintasovelluksia sekä mm. NASA:n Mars-luotaimen maahan välittämien kuvien selailusovellus.
Eclipse on suosittu myös valmistajakohtaisten laiteympäristöjen tai uusien ohjelmointikielten kehitysvälinealustana.
[muokkaa] SWT
IBM loi Eclipsen yhteydessä uuden Java-kirjaston käyttöliittymäohjelmointiin. IBM:n Standard Widget Toolkit (SWT) herätti Java-yhteisössä eripuraa ja pelkoa pirstaloitumisesta, sillä Javan pääkehittäjällä Sun Microsystemsillä oli jo valmiina oma vaihtoehto, Swing.
SWT ja Swing ovat filosofialtaan ja teknologialtaan epäyhteensopivia. SWT hyödyntää käyttöjärjestelmän natiivielementtejä, Swing puolestaan hallitsee käyttöliittymää itsenäisemmin. Kummassakin on etunsa ja haittansa, ja viime aikoina on väläytelty myös tekniikoiden yhdistämistä.
[muokkaa] OSGi
[muokkaa] Versiot
Eclipse 3.0:n yhteydessä koko projektin rakennetta uudistettiin rankasti. Eclipsen haluttiin jatkossa soveltuvan uusien kielten ohjelmointiin ja tarjoavan rajapintoja riippumattomille välinekehittäjille.
Eclipsen alkuvaiheessa eli 1.x- ja 2.x-versioasteella projekti oli vielä kohtalaisen suppea, muutamasta alaprojektista koostuva kokonaisuus. Laajennettavuuden myötä Eclipseen ilmestyi vähitellen uusia osaprojekteja ja näille vastaavasti omia alaprojekteja. Koska kaikkia ei saatu sovitettua luontevasti alkuperäiseen projektimalliin, päätettiin Eclipsen projektirakenne uusia kokonaan.
Versiosta 3.0 lähtien Eclipse on jakautunut pääprojekteihin, joiden alla on omia alaprojekteja. Projektimallin rakenteella on entuudestaan pyritty korostamaan, ettei Eclipse ole pelkkä Java-väline ja ettei sitä ole tarkoitettu pelkästään ohjelmistokehitykseen.
Aluksi pääprojekteja oli neljä:
- Eclipse Project
- Eclipse Tools Project
- Eclipse Technologies Project
- Eclipse Web Tools Platform
Eclipse Project sisältää itsessään alaprojekteja:
- Eclipse Platform sisältää SWT-käyttöliittymäkirjaston, sen avulla toteutetun RCP-ajoympäristön, dokumentti-ikkunoiden ja editorin vähimmäistoiminnallisuuden ja muut IDE-sovellukselle välttämättömät peruspalvelut.
- Equinox on OSGi-määrityksen mukainen laajennusteknologia mm. plug-in -lisäsovelluksille
- Java development tools (JDT) sisältyy poikkeuksena Eclipse Projectiin eikä muiden kielten tavoin Toolsin alle. Syyt ovat osin historiallisia ja osin käytännön sanelemia, sillä Javaa tarvitaan esim. lisäosien ja laajennusten toiminnassa.
- Plug-in Development Environment (PDE) on osa Eclipse SDK Projectia, ja se toimii JDT:n rinnalla tarjoten tarvittavat rajapinnat ja kirjastot Eclipse-laajennusosien ohjelmointiin.
Eclipse Tools Projectista löytyy ohjelmointikieliä ja käyttöliittymien suunnittelutyökaluja. Tätä kirjoitettaessa Tools-projektin kielivalikoimassa on AspectJ, C/C++, COBOL ja PHP.
Eclipse Technologies Project sisältää kehitystyöhön liittyvä apuvälineitä, viitekehyksiä ja rajapintoja tukisovelluksiin kuten versiohallintaan. Mukana on myös lukuisia marginaalitekniikoita kuten Voice Tools Project, Open Healthcare Framework ja identiteettiprojekti Higgins.
Web Tools Platformista löytyy matalan tason perusvälineet HTML:n ja XML:n sekä näiden johdannaisten muokkaamiseen, sekä korkeamman tason luokkakirjastot ja välineet Java 2 EE -ohjelmointiin ja web-sovelluspalveluille.
Pääprojektin määrä on noussut jo kymmeneen. Virallisten Eclipse-projektien joukkoon on jatkuvasti ehdolla uusia halukkaita. Jos Eclipse-sääntöjen ehdot täyttyvät ja yhteisöltä löytyy tarpeeksi kannatusta, pääsevät nämäkin vuorollaan virallisiksi projekteiksi odotteluajan jälkeen.
Laajentumisen myötä Eclipseä on alettu kritisoida sekavaksi. Projektien välillä on päällekkäisyyksiä ja alaprojekteilla omat aikataulunsa. Täysin toimivien ja yhteensopivien palojen kokoon saaminen ei ole ollut aina helppoa.
Vuonna 2006 Eclipse Foundation kokeili ensimmäistä kertaa usean projektin koordinoitua yhteisjulkistusta. Callisto-sateenvarjonimen alle koottu yhteispäivitys oli menestys, ja vuonna 2007 toteutettiin vastaavan tyyppinen mutta laajempi Europa-yhteislanseeraus.
[muokkaa] Eclipse Foundation
Vuonna 2004 IBM perusti yhdeksän muun ohjelmistotalon kanssa Eclipse Foundationin kantamaan vastuuta projektin kehittämisestä. Ryhmän perustajajäseniä olivat IBM:n lisäksi, Borland, Merant, QNX Software Systems, Rational Software, Red Hat, SUSE, TogetherSoft ja WebGain.
Eclipse Foundation on kasvanut alkupäivistä ja nykyisin sillä on toistasataa yritysjäsentä. Vajaan kahdenkymmenen ydinryhmään kuuluu mm. suuria Java-taloja (BEA, Compuware, Borland), laitevalmistajia (Intel, Motorola) sekä Nokia.

