Eclipse

From Wikipedia, the free encyclopedia

Eclipse
Remove ads

Eclipse kode irekiko software plataforma bat da, batez ere garapen-ingurune integratu (IDE) gisa erabiltzen dena. Hasiera batean IBM enpresa multinazionalak garatu zuen bere VisualAge [1] tresna-familiaren ordezko gisa, baina gaur egun Eclipse Fundazioa irabazi-asmorik gabeko erakunde independenteak garatzen eta kudeatzen du. Fundazio horrek komunitate ireki bat sustatzen du, eta hainbat produktu, zerbitzu eta gaitasun osagarri biltzen ditu.

Datu azkarrak Jatorria, Sortzailea(k) ...

Eclipsek workspace bat eta plugin sistema hedakor bat dauzka, erabiltzaileek ingurunea moldatzeko aukera emanez. Hasiera batean Java aplikazioak garatzeko sortu zen, eta horretarako Java Development Toolkit (JDT) eta Eclipse Compiler for Java (ECJ) erabiltzen dira. Bi tresna horiek Eclipserekin sortuak izan dira, eta Eclipseren parte izateaz gain, plataforma bera garatzeko ere erabiltzen dira.

Pluginen bidez, hainbat programazio-lengoaiarekin lan egin daiteke: C, C++, Python, PHP, Ruby, Rust, Scala, JavaScript edo R, besteak beste. Gainera, garapen espezializaturako paketeak eskaintzen dira, hala nola Eclipse JDT (Java eta Scala-rako), Eclipse CDT (C/C++-rako) eta Eclipse PDT (PHP-rako). LaTeX dokumentuak edo Mathematica-rentzako paketeak garatzeko ere erabili daiteke.

2000ko hamarkadan, Eclipse Java IDE erabilienetakoa izan zen, nahiz eta IntelliJ IDEA-k 2016an gainditu zuen arte[2].

Software hau doakoa eta kode irekikoa da, Eclipse Public License lizentziapean argitaratua, baina ez da bateragarria GNU General Public License-rekin[3].

Remove ads

Historia

Thumb
Eclipse 4.9 Windows 10

Eclipse Kanadako IBMren proiektu gisa hasi zen. OTIk (Object Technology International) garatu zuen, VisualAge ordezkatzeko asmoz. 2001eko azaroan, partzuergo bat sortu zen, kode irekiko garapenerako. 2003an Eclipse Fundazioa sortu zen, IBM atzean utzita.

Bertsioen laburpena:

Informazio gehiago Bertsioa, Kaleratze data ...


Remove ads

Arkitektura

Eclipseren oinarria Bezero Aberastuaren Plataforma da (ingelesez, Rich Client Platform edo RCP). Plataforma honek aplikazio aberastuak garatzeko beharrezkoak diren osagai nagusiak eskaintzen ditu, Eclipseren kasuan:

  • Plataforma nagusia: Eclipse abiarazteko eta pluginen exekuzioa gauzatzeko.
  • OSGi: Software-moduluak paketatzeko plataforma estandar bat, Eclipsek Equinox inplementazioaren bidez erabiltzen duena.[4]
  • Standard Widget Toolkit (SWT): Java-rako widget multzo bat.
  • JFace: Erabiltzaile interfazea sinplifikatzeko geruza, testu-editoreak, fitxategi-kudeaketa eta abar eskaintzen dituena.
  • Eclipse Workbench: Itxura, editoreak, perspektibak eta asistentziak (wizards).

Eclipsek bere widget grafikoak Standard Widget Toolkit bidez inplementatzen ditu. Horretan desberdintzen da Java aplikazio gehienetatik, hauek normalean Abstract Window Toolkit (AWT), Swing edo JavaFX erabiltzen baitituzte. Eclipseko erabiltzaile interfazeak, ordea, SWT geruza bat erabiltzen du, JFace, aplikazio grafikoen garapena errazteko.

Eclipseren garapen-ingurune integratua (IDE) plugin-arkitekturan dago oinarrituta: funtzionalitate guztiak pluginen bidez eskaintzen dira, exekuzio-sistemaren gainean. Oinarrizko nukleo txiki bat izan ezik, Eclipseko osagai guztiak pluginak dira; horren ondorioz, modu berean integratzen dira eta funtzionalitate guztiak maila berekoak dira. [5]

Plugin-sistemari esker, Eclipse hainbat programazio-lengoaiarekin heda daiteke, hala nola C, C++, Python edo JavaScript. Halaber, LaTeX[6] bezalako testu-prozesaketarako lengoaiekin lan egiteko aukera ematen du, baita sareko aplikazioekin (telnet) edo datu-baseak kudeatzeko sistemekin ere. Arkitektura horrek edozein luzapen mota garatzea ahalbidetzen du, adibidez konfigurazio-kudeaketarako tresnak. Eclipse SDKk Java eta CVS-rako euskarria eskaintzen du, eta beste bertsio-kontrol sistema batzuk hirugarrenen pluginen bidez erabil daitezke.

Thumb
Eclipse, beste lengoaia batzuekin lanean


Eclipsek aplikazio bezeroak garatzeko framework aberastuak erabiltzen ditu, aplikazio grafikoak, software-ereduen definizioa eta manipulazioa, edota web-aplikazioak sortzeko. Horren adibide da GEF (Graphic Editing Framework) plugina, editore bisualak garatzeko erabilia, testu-prozesadore wysiwyg motako testu-prozesadoreak, UML diagra-editoreak eta erabiltzaile interfaze grafikoak (GUI), besteak beste. GEF bidez sortutako editoreak Eclipse barruan integratzen dira, eta haren interfaze pertsonalizagarria eta beste plugin batzuekin bateragarritasuna aprobetxatzen dute.

Eclipse SDKk barne hartzen ditu Java garapenerako tresnak (JDT), Java konpiladore inkremental integratu batekin eta iturburu-kodearen eredu oso batekin. Horrek refactorizazio teknika aurreratuak eta kodearen analisia egitea ahalbidetzen du. IDEak workspace edo lan-eremu bat erabiltzen du, kasu honetan fitxategi-sistema lau baten gaineko metadatu multzo bat; horri esker, kanpotik egindako fitxategi-aldaketak onartzen dira, dagokion baliabidea freskatu ondoren.

Eclipse, halaber, Wayland-en exekutatzeko egokitu zen 2014ko Google Summer of Code (GSoC) proiektuan. [7]

Remove ads

Eclipse ekosistema

Eclipse ez da soilik garapen-ingurune integratu (IDE) bat, Eclipse Fundazioak koordinatutako software-proiektu ugariren multzo zabala baizik. Multzo horri Eclipse ekosistema deritzo, eta software librean oinarritutako tresnak, plataformak eta frameworkak biltzen ditu, batez ere softwarearen diseinuari, garapenari, probari eta mantentzeari lotutakoak.

Ekosistemaren ezaugarri nagusia arkitektura modularra da: Eclipsek plugin edo hedapenetan oinarritutako eredua erabiltzen du, OSGi estandarra jarraituz. Horri esker, Eclipse ingurunea behar espezifikoetara egokitu daiteke, lengoaia, plataforma edo erabilera-esparru desberdinetarako.

Proiektu-mailak eta antolaketa

Eclipse ekosistema hainbat mailatan antolatzen da. Maila gorenean top-level project edo goi-mailako proiektuak daude; horietako bakoitzak azpi-proiektu ugari har ditzake bere baitan. Antolaketa horrek garapenaren eskalagarritasuna eta komunitateen autonomia errazten ditu.

Top-level proiektu nagusien artean honakoak nabarmentzen dira:

  • Eclipse Project: Proiektu sortzailea, Eclipse Platform eta oinarrizko osagaiak biltzen dituena.
  • Tools Project: Programazio-lengoaia eta teknologiatarako tresnak (adibidez, Java, C/C++, PHP).
  • Eclipse Modeling Project: Softwarearen modelizaziorako frameworkak eta tresnak.
  • Eclipse Web Tools Platform (WTP): Web-teknologietarako garapen-tresnak.
  • Business Intelligence and Reporting Tools (BIRT): Txostenak eta adimen analitikorako tresnak.

Eclipse Platform

Eclipse Platform da ekosistemaren nukleoa. Java lengoaian idatzita dago nagusiki, eta SWT eta JFace liburutegi grafikoetan oinarritzen da. Plataforma honek oinarrizko azpiegitura eskaintzen du pluginak exekutatzeko eta elkarreragiteko.

Eclipse Platform honako osagai nagusiek osatzen dute:

  • Platform Runtime: Pluginen kudeaketa eta exekuzioa.
  • SWT: Interfaze grafikoaren oinarrizko liburutegia.
  • JFace: SWTren gaineko maila altuagoko API grafikoa.
  • Workbench: Erabiltzaile-interfazearen antolaketa (ikuspegiak, editoreak, perspektibak).

Osagai horiek IDE baten barruan erabil daitezke, baina baita aplikazio autonomoak sortzeko ere.

Eclipse RCP (Rich Client Platform)

Eclipse RCP Eclipse Platform-etik eratorritako framework bat da, bezero aberastuko (rich client) aplikazioak garatzeko. RCPk Eclipseren interfazea eta arkitektura erabiltzen ditu, baina IDE baten funtzionalitate espezifikoak baztertuta (kodearen exekuzioa, esaterako).

Eclipse RCP bidez sortutako aplikazioek:

  • Eclipse estiloko interfazea dute (ikuspegiak eta perspektibak).
  • Aplikazio autonomoak dira (standalone)
  • Soilik JRE bat behar dute exekutatzeko.

Garapen-tresnak eta lengoaiak

Eclipse ekosistemak programazio-lengoaia ugari onartzen ditu, gehienetan pluginen bidez. Ohikoenetako batzuk hauek dira:

Gainera, Eclipsek domeinu espezifikoko hizkuntzak sortzeko tresnak ere eskaintzen ditu, hala nola Xtext.

Hedapenak eta Marketplace

Eclipseren funtzionalitatea hedatzeko, erabiltzaileek plugin katalogo handi bat dute eskuragarri Eclipse Marketplace plataforman. Hedapen horiek erraz instala daitezke IDEtik bertatik, eta lengoaia berriak, frameworkak edo integrazio espezifikoak eskaintzen dituzte.

Android Development Tools eta ondorengoak

Historikoki, Android Development Tools (ADT) Eclipserako plugin-multzo bat izan zen, Android aplikazioak garatzeko erabilia. ADTk Android SDKarekin integrazioa eskaintzen zuen, baina geroago Android Studiok ordezkatu zuen, IntelliJ IDEA-n oinarritutako IDE gisa.

Hala ere, Eclipse ekosisteman beste proiektu batzuk sortu dira Androiden inguruan, hala nola Andmore, ADTren komunitateak mantendutako jarraipena.

Ekosistemaren garrantzia

Eclipse ekosistema software librearen historian funtsezko erreferentzia bihurtu da. Enpresa handiek, ikerketa-zentroek eta garatzaile independenteek erabiltzen dute, bai tresna gisa, bai oinarri teknologiko gisa. Bere izaera irekiak, modularrak eta komunitatean oinarrituak Eclipse software-garapenaren estandar nagusietako bat bihurtu du.

Remove ads

Aplikazioen bizi-zikloaren kudeaketa

Eclipsen, Application lifecycle management (ALM) eta task management egiteko, Mylyn aukerazko osagaia erabil daiteke. Mylyn kode irekiko proiektua da, task-focused interface delakoaren inplementazioa eskaintzen duena, eta tresna desberdinek interfazea txertatzeko API bat ematen duena.

Garatzaileentzat, Mylynek zeregin anitzekin modu eraginkorragoan lan egitea ahalbidetzen du, hala nola akatsekin, arazo-txostenekin edo funtzionalitate berriekin. Zereginak Mylyn barruan integratzen dira, eta horietako bakoitzerako erabiltzailearen jarduera aztertzen du, uneko zereginarekin lotutako informazioa identifikatzeko. Horrela, Eclipseren erabiltzaile-interfazea dagokion informazioan zentratzen da, bilaketa, desplazamendu eta nabigazio beharra murriztuz.

Mylyn hainbat biltegi-sistemarekin integra daiteke, besteak beste Bugzilla, Trac, Redmine, Mantis[8], JIRA, Unfuddle[9] eta GitHubekin[10]. Helburua produktibitatea handitzea da, zereginaren testuingurua esplizitu bihurtuz, eta horrela, zeregin anitzeko lana, plangintza, aurreko lanen berrerabilpena eta ezagutzaren partekatzea erraztuz.

Proiektuaren izena mielinatik dator[11]. Hasieran, proiektuak Mylar izena zuen, baina marka komertzial batekin gatazka sortu zenez, Eclipse Fundazioak Mylyn izenera aldatu zuen[12].


Remove ads

Hedapenak

Eclipsek hedapen edo plugin ugari onartzen ditu, eta horien bidez hainbat teknologia eta programazio-lengoaietarako euskarri ditu eskuragarri. Besteak beste, Python garatzeko PyDev erabil daiteke; Android aplikazioak garatzeko, berriz, lehenago Googlek garatutako ADT erabili zen (2015ean Android Studio hasi zen erabiltzen); JavaFX-rako e(fx)clipse dago; eta baita JavaScript eta jQuery bezalako teknologietarako hedapenak ere, guztiak Eclipse Marketplace bidez eskuragarri.

Java konpiladoreak dakartzan ohartarazpenez gain, kodearen kalitatea eta koherentzia hobetzeko linting tresnak eskaintzen dituzten pluginak ere badaude, hala nola SpotBugs eta SonarLint[13][14].

Eraikuntza-tresnetarako euskarria ere badu Eclipsek, besteak beste Ant, Maven, Make eta CMake tresnetarako. Hedapen horiei esker, posible da Eclipseko proiektu-formatu natiboa ordezkatzea zuzenean Mavenen pom.xml fitxategiarekin[15].


Remove ads

Banaketa alternatiboak

Eclipse proiektuaren barruan hainbat banaketa eta tresna espezializatu garatu dira, plataforma oinarri bera erabiliz baina programazio-ingurune edo teknologia jakin batzuetara bideratuta.

PHP Development Tools

PHP Development Tools (PDT) proiektuak PHP (PHP Hypertext Preprocessor) garatzeko marko oso bat eskaintzen du Eclipse plataformarako. Proiektuak garapenerako osagai guztiak biltzen ditu, hala nola kode-osaketa automatikoa (code completion), PHP aplikazioen garapena eta plataformaren hedagarritasunerako tresnak. PDTk Eclipseren Web Tools Platform (WTP) eta Dynamic Languages Toolkit (DLTK) proiektuetan oinarritzen da, eta haien azpiegitura aprobetxatzen du. [16]


Android Development Tools

Android Development Tools (ADT) Googlek garatutako Eclipse-rako plugin ofiziala izan zen, Android aplikazioak garatzeko ingurune integratua eskaintzen zuena. 2015ean, Googlek plugin horren garapena bertan behera utzi zuen, eta horren ondoren Eclipse Fundazioak Andmore: Development Tools for Android izeneko ordezko proiektua sortu zuen[17].

ADTk eta Andmorek Eclipse hedatzen dute Android proiektuak sortzeko, aplikazioen interfazea diseinatzeko, Android Framework APIan oinarritutako osagaiak erabiltzeko, aplikazioak arazteko eta .apk fitxategiak esportatzeko. ADT izan zen Android garapenerako IDE ofiziala 2015era arte, baina ondoren Android Studiok hartu zuen rol hori[18][19]. 2024tik aurrera, Andmore proiektua ia geldirik dago, 2017az geroztik jarduerarik izan ez duelako[20].


Remove ads

Erreferentziak

Kanpo estekak

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads