Eclipse (programvara)

Eclipse
UtvecklareEclipse foundation
Skriven iJava
UtvecklingsstatusAktiv
OperativsystemLinux, Mac OS X, Solaris, Windows
PlattformJava SE, Standard Widget Toolkit
LicensEclipse Public License
Webbplatswww.eclipse.org

Eclipse är enligt Eclipse egen definition [1] "an open extensible IDE for anything and nothing in particular", vilket på svenska betyder ungefär: en öppen utbyggbar utvecklingsmiljö för vad som helst och ingenting särskilt. Med öppen avses möjligheten att för vem som helst hämta källkoden till Eclipse och använda den enligt de regler som specificeras i Eclipse Public License, den licens som gäller för Eclipse. Vem som helst kan även bidra till utvecklingen av Eclipse.

I praktiken är Eclipse ett vanligt verktyg för att utveckla programvara i programmeringsspråket Java. Utvecklingsverktyget är med sina egna moduler för olika användningsområden det näst populäraste i världen, efter Microsoft Visual Studio [2]. Eclipse går att köra på ett flertal olika operativsystem, till exempel Windows, Linux, Mac OS och Solaris [3] och finns tillgängligt till ett flertal olika språk, bland annat svenska.

Historia

Från början var Eclipse ett projekt inom IBM för att ta fram en efterföljare till IBM:s föråldrade utvecklingsplattform Visual Age for Java. Projektet knoppades efter en tid av från IBM och släpptes som öppen programvara. Samtidigt bildades ett fristående oberoende konsortium (Eclipse Foundation) som har nått stora framgångar med att knyta stora programvaruaktörer som Rational (numera en del av IBM), BEA och Borland till projektet.

Användargränssnitt

Eclipse, i Ubuntu

För att förstå sig på och på ett bra sätt arbeta i Eclipse är det viktigt att känna till dess grafiska uppbyggnad. Två av de mest centrala begreppen är vy (eng. view) och perspektiv (eng. perspective). En vy är ett fönster i Eclipse med syftet att presentera en specifik aspekt av programvaran så att användaren av programvaran kan lösa en viss uppgift. Till exempel finns det en vy för att visa en programvaras hierarkiska uppbyggnad (vid utveckling i Java kallas denna för paketstruktur). Ett annat exempel på en vy är det fönster som visar vilka fel som för närvarande finns i programvaran. Detta är dock bara två av de vyer som finns definierade som standard i Eclipse. Vyer kan flyttas runt och ordnas efter egna önskemål. En uppsättning vyer tillsammans med dess storlek och position kallas för ett perspektiv. Olika perspektiv finns definierade som standard där syftet är att framhäva de vyer som behövs för att utföra en viss uppgift, som till exempel avlusning (eng. debugging) av programvaran. En användare kan både skapa nya och förändra befintliga perspektiv genom att ta bort, lägga till, ändra storlek och flytta på vyer och sedan välja att spara resultatet som ett befintligt eller nytt perspektiv.

Funktioner

Eclipse innehåller redan vid en standardinstallation en stor uppsättning funktioner som underlättar vid utveckling av programvara. Några av dessa är:

  • Trädstruktur över paket och klasser separerade efter projekt.
  • Översikt över de delar som utgör en klass, så som variabler och metoder.
  • En lista över i koden definierade uppgifter som kvarstår att göra.
  • Möjlighet att inifrån Eclipse interagera med ett program i textläge.
  • En lista över möjliga fel (eng. warnings) och fel som omöjliggör kompilering av programvaran (eng. errors).
  • Textbehandling med stöd för färgmarkering, automatisk indentering, kodassistering (eng. code assist), möjlighet att dölja kod (eng. code folding), understrykning av kod beroende på olika villkor, och förslag på lösningar vid problem (eng. quick fix).
  • Automatisk generering av viss kod till exempel konstruktorer och get* och set*-metoder.
  • Refaktorisering av befintlig kod, till exempel möjlighet att byta namn på samtliga instanser av en variabel eller flytta en metod.
  • Navigering genom källkoden, till exempel navigera till en metods deklaration, eller lista en klass position i en typhierarki. Precis som i en webbläsare går det att gå fram och tillbaka bland tidigare platser i navigationshistoriken.
  • Kraftfull sökfunktion med inbyggd cache, till exempel går det att få fram en lista över från vilka metoder som en annan metod anropas.
  • Möjlighet att nå många funktioner via tangentbordet.
  • Guider (eng. wizards) för att skapa nya artefakter såsom klasser och testklasser.
  • Hämta och uppdatera källkod via inbyggd klient för CVS.
  • Stöd att arbeta efter paradigmet testdriven utveckling (eng. Test Driven Development) via JUnit.
  • Förenklad paketering och distribution med byggverktyget Ant.

Notera att eftersom en standardinstallation av Eclipse avser programvaruutveckling i programmeringsspråket Java så reflekterar listan över funktioner ovan funktioner för att utveckla programvara med just Java.

Moduler

Även om programvaran har störst stöd från Javautvecklare så är fullt möjligt att utveckla programvara i andra språk än Java, till exempel C++, Python eller PHP [3]. Det är också fullt möjligt att använda Eclipse till något annat än att skriva källkod, som till exempel arbeta med modeller i exempelvis UML eller utföra testning. Denna möjlighet finns eftersom Eclipse är utbyggbart genom s.k. moduler (eng. plug-in). Nya moduler lägger ofta till vyer och perspektiv till Eclipse för att lösa just de uppgifter modulen avser lösa. Moduler för att lösa olika uppgifter går att hitta på en mängd olika webbplatser på Internet. Eclipse själva tillhandahåller också en katalog för moduler. Vem som helst kan utveckla en modul för att lösa vilket problem som helst. Värt att notera är dock att moduler måste utvecklas i Java eftersom Eclipse i sig är utvecklat i Java [3].

Versionshistorik

Sedan 2006 gör Eclipse Foundation, som styr utvecklingen av Eclipse, en stor leverans per år som normalt sett sker i slutet på juni. Det sker dock kontinuerlig utveckling av Eclipse och nya versioner släpps med jämna mellanrum. Eclipse Foundation använder sig även av milstenar (till exempel M1, M2, osv...) för att märka speciella versioner.

Kodnamn Version Datum
Callisto 3.2 2006-06-30
Europa[död länk] 3.3 2007-06-29
Ganymede 3.4 2008-06-25
Galileo 3.5 2009-06-24
Helios 3.6 2010-06-23
Indigo 3.7 2011-06-22
Juno 4.2 2012-06-27
Kepler 4.3 2013-06-26
Luna 4.4 2014-06-25
Mars 4.5 2015-06-24
Neon 4.6 2016-06-22
Oxygen 4.7 2017-06-28
Photon 4.8 2018-06-xx (planerad)

Källor

Externa länkar