Eclipse (programvara)
Originalförfattare | IBM |
---|---|
Utvecklare | Eclipse Foundation |
Initial release | 1.0 / 29 november 2001 |
Stabil frisättning | |
Förhandsgranska release | 4.27 (2023-03 release) |
Förvar | |
Skrivet i | Java och C |
Operativ system | Linux , macOS , Windows |
Plattform | Java SE , Standard Widget Toolkit , x86-64 |
Tillgänglig i | 44 språk |
Lista över språk
albanska, arabiska, baskiska, bulgariska, katalanska, kinesiska (förenklad, traditionell), tjeckiska, danska, holländska, engelska (Australien, Kanada), estniska, finska, franska, tyska, grekiska, hebreiska, hindi, ungerska, indonesiska, italienska, Japanska, klingonska, koreanska, kurdiska, litauiska, malayalam, mongoliska, myanmar, nepalesiska, norska, persiska, polska, portugisiska (Portugal, Brasilien), rumänska, ryska, serbiska, slovakiska, slovenska, spanska, svenska, thailändska, turkiska, ukrainska , vietnamesiska
| |
Typ | Programmeringsverktyg , integrerad utvecklingsmiljö (IDE) |
Licens | Eclipse Public License |
Hemsida |
|
Eclipse är en integrerad utvecklingsmiljö (IDE) som används i datorprogrammering . Den innehåller en basarbetsyta och ett utbyggbart plug-in- system för att anpassa miljön. Det är den näst mest populära IDE för Java- utveckling, och fram till 2016 var den den mest populära. Eclipse skrivs mestadels i Java och dess primära användning är för att utveckla Java-applikationer, men den kan också användas för att utveckla applikationer i andra programmeringsspråk via plug-ins, inklusive Ada , ABAP , C , C++ , C# , Clojure , COBOL , D , Erlang , Fortran , Groovy , Haskell , JavaScript , Julia , Lasso , Lua , NATURAL , Perl , PHP , Prolog , Python , R , Ruby (inklusive Ruby on Rails -ramverket), Rust , Scala och Scheme . Den kan också användas för att utveckla dokument med LaTeX (via en TeXlipse-plugin) och paket för programvaran Mathematica . Utvecklingsmiljöer inkluderar Eclipse Java-utvecklingsverktyg (JDT) för Java och Scala, Eclipse CDT för C/C++ och Eclipse PDT för PHP, bland andra.
Den ursprungliga kodbasen kom från IBM VisualAge . Eclipse Software Development Kit (SDK), som inkluderar Java-utvecklingsverktygen, är avsedd för Java-utvecklare. Användare kan utöka dess förmåga genom att installera plug-ins skrivna för Eclipse Platform, såsom utvecklingsverktyg för andra programmeringsspråk, och kan skriva och bidra med sina egna plug-in-moduler. Sedan introduktionen av OSGi- implementationen ( Equinox ) i version 3 av Eclipse, kan plugin-program pluggas-stoppas dynamiskt och kallas (OSGI) buntar.
Eclipse Software Development Kit (SDK) är gratis programvara med öppen källkod, släppt under villkoren i Eclipse Public License , även om den är inkompatibel med GNU General Public License . Det var en av de första IDE:erna som kördes under GNU Classpath och den körs utan problem under IcedTea .
Historia
Eclipse inspirerades av den Smalltalk -baserade VisualAge -familjen av produkter för integrerad utvecklingsmiljö ( IDE). Även om det var ganska framgångsrikt, var en stor nackdel med VisualAge-produkterna att utvecklad kod inte fanns i en komponentbaserad mjukvaruutvecklingsmodell . Istället hölls all kod för ett projekt i en komprimerad databas med SCID- tekniker (något som en zip-fil men i ett proprietärt format som kallas .dat). Individuella klasser var inte lätt tillgängliga, absolut inte utanför verktyget. Ett team främst på IBM Cary, NC-labbet utvecklade den nya produkten som en Java-baserad ersättning. [ misslyckad verifiering ] I november 2001 bildades ett konsortium med en styrelse för att främja utvecklingen av Eclipse som programvara med öppen källkod . Det uppskattas att IBM redan hade investerat nästan 40 miljoner dollar vid den tiden. De ursprungliga medlemmarna var Borland , IBM , Merant , QNX Software Systems , Rational Software , Red Hat , SuSE , TogetherSoft och WebGain . Antalet förvaltare ökade till över 80 i slutet av 2003. I januari 2004 skapades Eclipse Foundation .
Eclipse 3.0 (släpptes den 21 juni 2004) valde specifikationerna för OSGi Service Platform som runtime-arkitektur.
Association for Computing Machinery erkände Eclipse med 2011 års ACM Software Systems Award den 26 april 2012.
Licensiering
Eclipse Public License (EPL) är den grundläggande licensen under vilken Eclipse-projekt släpps. Vissa projekt kräver dubbel licensiering, för vilken Eclipse Distribution License (EDL) är tillgänglig, även om användning av denna licens måste ansökas om och övervägs från fall till fall.
Eclipse släpptes ursprungligen under Common Public License , men återlicensierades senare under Eclipse Public License. Free Software Foundation har sagt att båda licenserna är fri mjukvarulicenser , men är inkompatibla med GNU General Public License ( GPL).
namn
Enligt Lee Nackman, Chief Technology Officer för IBM:s Rational-division (med ursprung 2003) vid den tiden, var namnet "Eclipse" (med anor från åtminstone 2001) inte ett ordspel på Sun Microsystems , eftersom produktens främsta konkurrens vid tiden för namnet var Microsoft Visual Studio , som Eclipse skulle förmörka.
Olika versioner av Eclipse har fått olika vetenskapsrelaterade namn. De versioner som är uppkallade efter Callisto , Europa och Ganymedes , som är månar av Jupiter , följdes av en version uppkallad efter Galileo , upptäckaren av dessa månar. Dessa följdes av två namn med soltema, Helios från grekisk mytologi och Indigo , en av de sju färgerna i en regnbåge (som produceras av solen). Versionen efter det, Juno, har en trippel betydelse: en romersk mytologisk figur , en asteroid och en rymdfarkost till Jupiter . Kepler , Luna och Mars fortsatte med astronomitemat, och sedan utgjorde Neon och syre ett tema av kemiska element . Photon representerade en återgång till namn med soltema.
Från och med 2018 övergavs det alfabetiska schemat för att bättre anpassa sig till den nya strategin för simultan utgivning. Utgivningarna är namngivna i formatet ÅÅÅÅ-MM för att återspegla de kvartalsvisa utgåvorna, från och med version 4.9 med namnet 2018-09.
Släpps
Sedan 2006 har stiftelsen samordnat en årlig simultan release . Varje utgåva inkluderar Eclipse Platform och flera andra Eclipse-projekt.
Från 2008 till och med 2018 hade varje samtidig frigivning inträffat den 4:e onsdagen i juni. Under 2018 gick projektet över till kvartalsvisa (13 veckor) ÅÅÅÅ-MM- utgåvor utan mellanliggande tjänsteutgåvor.
Versionsnamn | Datum | Plattformsversion | Projekt | Huvudsakliga förändringar | |
---|---|---|---|---|---|
N/A | 29 november 2001 | 1.0 | En 1.3-nivå Java runtime eller Java Development Kit måste installeras på maskinen för att kunna köra den här versionen av Eclipse. | ||
N/A | 18 september 2002 | 2.0 | |||
N/A | 15 april 2003 | 2.1 | En 1.4-nivå Java runtime eller Java Development Kit (JDK) kan också användas för att köra Eclipse. Det är fortfarande möjligt att använda en 1.3-nivå Java runtime eller Java Development Kit (JDK). | ||
N/A | 21 juni 2004 | 3.0 | En 1.4.1-nivå Java runtime eller Java Development Kit måste installeras på maskinen för att kunna köra den här versionen av Eclipse. | ||
N/A | 28 juni 2005 | 3.1 | Tillagt Java 5- stöd: generika, annoteringar, boxning-unboxing, enums, förbättrad för loop, varargs, statisk import | ||
Callisto | 26 juni 2006 | 3.2 | Callisto-projekt | ||
Europa | 27 juni 2007 | 3.3 | Europa-projekt | ||
Ganymedes | 25 juni 2008 | 3.4 | Ganymedes projekt | ||
Galileo | 24 juni 2009 | 3.5 | Galileo-projekt | ||
Helios | 23 juni 2010 | 3.6 | Helios projekt | ||
Indigo | 22 juni 2011 | 3.7 | Indigoprojekt | Tillagt Java 7- stöd (3.7.1 sr1): Förbättrad typinferens för generisk instansskapande (Diamond), Multi-catch, prova-med-resurser-sats, förenklad Varargs-metodanrop, strängar i switch, binära bokstaver och understreck i numeriska bokstaver, Polymorfa metoder | |
Juno | 27 juni 2012 |
|
3.8 och 4.2 Juno-projekt | ||
Kepler | 26 juni 2013 | 4.3 | Kepler-projekt | En Java 6 JRE/JDK rekommenderas för att köra denna version. | |
Luna | 25 juni 2014 | 4.4 | Luna-projekt | Integrerat Java 8- stöd; i den tidigare versionen var detta möjligt via en Java 8 patch- plugin. En Java 7 JRE/JDK krävs för att köra de flesta paket baserade på denna version. |
|
Mars | 24 juni 2015 | 4.5 | Mars-projekt | En Java 7 JRE/JDK krävs för att köra alla paket baserade på denna version. | |
Neon | 22 juni 2016 | 4.6 | Neonprojekt | En Java 8 JRE/JDK krävs för att köra alla paket baserade på denna version. | |
Syre | 28 juni 2017 | 4.7 | Syreprojekt | Oxygen.1a introducerade Java 9 och Junit 5-stöd och Oxygen.3a introducerade Java 10-stöd. Släppt stöd för följande Unix-baserade plattformar: AIX, Solaris, HP-UX och s390. Från och med den här versionen krävs en Java 8 eller nyare JRE/JDK för att köra Eclipse. |
|
Foton | 27 juni 2018 | 4.8 | Fotonprojekt | Släppt stöd för 32-bitars Windows och Linux. | |
2018-09 | 19 september 2018 | 4.9 | 2018-09 projekt | ||
2018-12 | 19 december 2018 | 4.10 | 2018-12 projekt | Lade till stöd för Java 11. | |
2019-03 | 20 mars 2019 | 4.11 | 2019-03 projekt | ||
2019-06 | 19 juni 2019 | 4.12 | 2019-06 projekt | ||
2019-09 | 18 september 2019 | 4.13 | 2019-09 projekt | ||
2019-12 | 18 december 2019 | 4.14 | 2019-12 projekt | ||
2020-03 | 18 mars 2020 | 4.15 | 2020-03 projekt | Uppdatera stöd för webbutvecklingsspråk, beroende på Language Server Protocol | |
2020-06 | 17 juni 2020 | 4.16 | 2020-06 projekt | ||
2020-09 | 16 september 2020 | 4.17 | 2020-09 projekt | Från och med den här versionen krävs en Java 11 eller nyare JRE/JDK för att köra Eclipse. | |
2020-12 | 16 december 2020 | 4.18 | 2020-12 projekt | En JDK är inbäddad i de flesta paket, så en Java-installation är inte en förutsättning. | |
2021-03 | 17 mars 2021 | 4.19 | 2021-03 projekt | ||
2021-06 | 16 juni 2021 | 4.20 | 2021-06 projekt | ||
2021-09 | 15 september 2021 | 4.21 | 2021-09 projekt | ||
2021-12 | 8 december 2021 | 4.22 | 2021-12 projekt | ||
2022-03 | 16 mars 2022 | 4.23 | 2022-03 projekt | ||
2022-06 | 15 juni 2022 | 4.24 | 2022-06 projekt | ||
2022-09 | 14 september 2022 | 4.25 | 2022-09 projekt | ||
2022-12 | 7 december 2022 | 4.26 | 2022-12 projekt | ||
2023-03 | 15 mars 2023 | 4.27 | 2023-03 projekt |
- ^ Det finns en version 3.8 av Eclipse Juno; den marknadsförs inte på huvudsidan för nedladdningar, men en paketerad distribution är tillgänglig för nedladdning. Eclipse 3.8 tillhandahåller buggfixar för Indigo och lägger till Java 7-stöd, och dess underhåll strömmades dubbelt med 4.2. Funktioner och plugin-program som motsvarar en paketerad distribution kan läggas till från IDE.
Arkitektur
Eclipse använder plug-ins för att tillhandahålla all funktionalitet inom och ovanpå runtime-systemet. Dess körtidssystem är baserat på Equinox , en implementering av OSGi core framework specification.
Förutom att tillåta att Eclipse-plattformen utökas med andra programmeringsspråk , såsom C och Python , tillåter plug-in-ramverket Eclipse-plattformen att arbeta med typsättningsspråk som LaTeX och nätverksapplikationer som telnet och databashanteringssystem . Plugin-arkitekturen stöder skrivning av alla önskade tillägg till miljön, till exempel för konfigurationshantering . Java- och CVS- stöd tillhandahålls i Eclipse SDK , med stöd för andra versionskontrollsystem som tillhandahålls av plugin-program från tredje part .
Med undantag för en liten runtime-kärna är allt i Eclipse en plug-in. Således integreras alla plugin-program som utvecklas med Eclipse på samma sätt som andra plug-ins; i detta avseende är alla funktioner "skapade lika". Eclipse tillhandahåller plug-ins för en mängd olika funktioner, av vilka några är från tredje part som använder både gratis och kommersiella modeller. Exempel på plugin-program är för Unified Modeling Language (UML), för Sequence och andra UML-diagram, ett plugin-program för DB Explorer och många fler.
Eclipse SDK inkluderar Eclipse Java-utvecklingsverktyg (JDT), som erbjuder en IDE med en inbyggd Java inkrementell kompilator och en fullständig modell av Java-källfilerna. Detta möjliggör avancerade refactoring- tekniker och kodanalys. IDE använder också en arbetsyta , i det här fallet en uppsättning metadata över ett platt filutrymme som tillåter externa filändringar så länge som motsvarande arbetsytasresurs uppdateras efteråt.
Eclipse implementerar de grafiska kontrollelementen i Java-verktygssatsen som kallas Standard Widget Toolkit (SWT), medan de flesta Java-applikationer använder Java-standarden Abstract Window Toolkit (AWT) eller Swing . Eclipses användargränssnitt använder också ett mellanliggande grafiskt användargränssnittsskikt kallat JFace , vilket förenklar konstruktionen av applikationer baserade på SWT. Eclipse gjordes för att köras på Wayland under ett Google Summer of Code (GSoC)-projekt 2014.
Från och med 2017 tillhandahåller språkpaket som utvecklas av Babel-projektet översättningar till över 40 naturliga språk .
Rich Client Platform
Eclipse tillhandahåller den rika klientplattformen (RCP) för utveckling av allmänna applikationer.
Följande komponenter utgör den rika klientplattformen:
- Equinox OSGi – ett standardbundet ramverk
- Kärnplattform – starta upp Eclipse, kör plugin-program [ citat behövs ]
- Standard Widget Toolkit (SWT) – en bärbar widget-verktygssats
- JFace – tittarklasser för att föra programmering av modellvykontroller till SWT, filbuffertar, texthantering, textredigerare
- Eclipse Workbench – vyer, redaktörer, perspektiv, guider
Exempel på rika klientapplikationer baserade på Eclipse är:
- IBM Notes 8 och 9
- Attachmate-Novell NetIQ Designer för Identity Manager
- Apache Directory Studio
- Fjärrkomponentmiljö
- DBeaver , en SQL-klientmjukvara
- Portföljprestanda
- UDig , en GIS-programvara
- AnyLogic , ett simuleringsmodelleringsverktyg med flera metoder
Serverplattform
Eclipse stöder utveckling för Tomcat , GlassFish och många andra servrar och kan ofta installera den server som krävs (för utveckling) direkt från IDE. Den stöder fjärrfelsökning, vilket gör att en användare kan titta på variabler och gå igenom koden för en applikation som körs på den anslutna servern.
Web Tools Plattform
Eclipse Web Tools Platform (WTP)-projektet är en förlängning av Eclipse-plattformen med verktyg för att utveckla webb- och Java EE-applikationer. Den innehåller källredigerare och grafiska redigerare för en mängd olika språk, guider och inbyggda applikationer för att förenkla utvecklingen, och verktyg och API:er för att stödja driftsättning, körning och testning av appar.
Modelleringsplattform
Modelleringsprojektet innehåller alla officiella projekt från Eclipse Foundation med fokus på modellbaserad utvecklingsteknik. Alla är kompatibla med Eclipse Modeling Framework skapat av IBM. Dessa projekt är uppdelade i flera kategorier: modelltransformation, modellutvecklingsverktyg, konkret syntaxutveckling, abstrakt syntaxutveckling, teknik och forskning och amalgam.
Model Transformation-projekt använder Eclipse Modeling Framework (EMF)-baserade modeller som indata och producerar antingen en modell eller text som en utdata. Modell-till-modell-transformationsprojekt inkluderar ATLAS Transformation Language (ATL), ett transformationsspråk med öppen källkod och verktygslåda som används för att transformera en given modell eller för att generera en ny modell från en given EMF-modell. Modell till text transformationsprojekt innehåller Acceleo , en implementering av MOFM2T , en standardmodell till textspråk från Object Management Group (OMG). Acceleo- kodgeneratorn kan generera vilket textspråk som helst (Java, PHP, Python, etc.) från EMF-baserade modeller definierade med vilken metamodell som helst ( Unified Modeling Language (UML), Systems Modeling Language (SysML), etc.). Det är öppen källkod.
Model Development Tools-projekt är implementeringar av olika modelleringsstandarder som används i branschen och deras verktygssatser. Bland dessa projekt kan hittas implementeringar av flera standarder:
- Unified Modeling Language (UML)
- System Modeling Language (SysML)
- Object Constraint Language (OCL)
- Business Process Model and Notation (BPMN)
- Interactive Media Manager (IMM)
- Semantics of Business Vocabulary and Business Rules (SBVR)
- XML-schema (XSD)
- National Electronic Distributors Association (NEDA)
- Modell-till-modell-transformationer (MMT)
Projektet Concrete Syntax Development innehåller Graphical Modeling Framework, ett Eclipse-baserat ramverk dedikerat till den grafiska representationen av EMF-baserade modeller. [ citat behövs ]
Abstract Syntax Development-projektet är värd för Eclipse Modeling Framework, kärnan i det mesta av Eclipse Foundations modelleringsprojekt och det ramverk som är tillgängligt för EMF som Connected Data Objects (CDO), EMF-fråga eller EMF-validering.
Teknik- och forskningsprojekt är prototyper av modelleringsprojekt; detta projekt används för att vara värd för alla modelleringsprojekt av Eclipse Foundation under deras inkubationsfas. [ citat behövs ]
Amalgam tillhandahåller paketeringen och integrationen mellan alla tillgängliga modelleringsverktyg för Eclipse-paketet dedikerat till modelleringsverktyg.
Applikationslivscykelhantering
Applikationslivscykelhantering (ALM) och uppgiftshantering i Eclipse behöver en valfri komponent som heter Mylyn ( / ˈ m aɪ l ɪ n / ), en implementering med öppen källkod av det uppgiftsfokuserade gränssnittet . Det tillhandahåller ett API för verktyg som bäddar in det uppgiftsfokuserade gränssnittet. För mjukvaruutvecklare hjälper det en utvecklare att arbeta effektivt med många olika uppgifter (som buggar, problemrapporter eller nya funktioner). Uppgifter är integrerade i Mylyn. För alla uppgifter som har integrerats övervakar Mylyn användaraktivitet och försöker identifiera information som är relevant för den aktuella uppgiften. Den använder denna uppgiftskontext för att fokusera Eclipse UI på relaterad information. Mylyn kan integreras med arkiv som Bugzilla , Trac , Redmine , Mantis , JIRA , Unfuddle och GitHub . Den fokuserar på att förbättra produktiviteten genom att minska sökning, rullning och navigering. Genom att göra uppgiftens sammanhang explicit är det meningen att Mylyn också ska underlätta multitasking, planering, återanvändning av tidigare ansträngningar och delning av expertis.
Projektnamnet kommer från myelin , ett elektriskt isolerande lager som omger neuronernas axoner. Det ursprungliga namnet på detta projekt, "Mylar", replikerade ett varumärke som tillhör ett boPET- filmbolag, så Eclipse Foundation ändrade projektnamnet.
Tillägg
Eclipse stöder ett rikt urval av tillägg, lägger till stöd för Python via PyDev , Android -utveckling via Googles ADT (ersatt av Android Studio sedan 2015), JavaFX via e(fx)clipse, JavaScript , jQuery och många andra på Eclipse Marketplace. Valable är en Vala -plugin för Eclipse.
Alternativa distributioner
Flera alternativa distributioner finns i Eclipse-projektet.
PHP utvecklingsverktyg
PHP Hypertext Preprocessor (PHP) Development Tools-projektet tillhandahåller ett ramverk för Eclipse-plattformen. Projektet omfattar alla utvecklingskomponenter, inklusive kodkomplettering, utveckla PHP och underlätta utökbarhet. Den utnyttjar den befintliga Eclipse Web Tools Platform (WTP) och Dynamic Languages Toolkit (DLTK).
Android utvecklingsverktyg
Android Development Tools (ADT) ersattes 2015 av Eclipse-stiftelsens eget plugin, kallat Andmore: Development Tools for Android , efter att Google avbröt utvecklingen av deras plug-in för Eclipse IDE, som är utformad för att tillhandahålla en integrerad miljö för att bygga Android-applikationer. ADT/Andmore utökar förmågan hos Eclipse för att låta utvecklare skapa nya Android-projekt, skapa ett applikationsgränssnitt, lägga till paket baserade på Android Framework API, felsöka sina applikationer med Android SDK-verktygen och exportera signerade (eller osignerade) .apk-filer för att distribuera sina ansökningar. Det är fritt tillgängligt att ladda ner. Googles ADT var den officiella IDE för Android fram till 2015 men ersattes av Eclipses Andmore och den officiella Android Studio .
Se även
- Jämförelse av integrerade utvecklingsmiljöer
- Jämförelse av integrerade utvecklingsmiljöer för Java
- Lista över Eclipse-baserad programvara
- Lista över Eclipse-projekt
Källor
- Silva, Vladimir (11 mars 2009). Practical Eclipse Rich Client Platform Projects (första upplagan). Apress . sid. 352. ISBN 978-1-4302-1827-2 .
- Burnette, Ed (12 augusti 2005). Eclipse IDE Pocket Guide (1:a upplagan). O'Reilly Media . sid. 128. ISBN 978-0-596-10065-0 .
- Holzner, Steve (1 maj 2004). Eclipse (första upplagan). O'Reilly Media . sid. 317 . ISBN 0-596-00641-1 .
- McAffer, Jeff; Lemieux, Jean-Michel; Aniszczyk, Chris (22 maj 2010). Eclipse Rich Client Platform (andra upplagan). Addison-Wesley Professional . sid. 552. ISBN 978-0-321-60378-4 . Arkiverad från originalet den 7 juli 2012 . Hämtad 18 juni 2011 .
- Vogel, Lars (2013). Eclipse IDE: Java-programmering, felsökning, enhetstestning, uppgiftshantering och Git-versionskontroll med Eclipse . vogella.com (3:e upplagan). Leipzig. ISBN 978-3943747041 .
externa länkar
- Eclipse på Wikibooks
- Media relaterade till Eclipse IDE på Wikimedia Commons
- Officiell hemsida
- Eclipse Foundations pressmeddelanden på eclipse.org
- Eclipse Foundation 2006 pressmeddelandearkiv på eclipse.org
- Eclipse Foundation 2001-2005 Pressmeddelandearkiv på eclipse.org
- Utvecklingsprogramvara för Android (operativsystem).
- Kodnavigeringsverktyg
- Gratis programvara för flera plattformar
- Debuggers
- Eclipse (programvara)
- Tidigare proprietär programvara
- Gratis HTML-redigerare
- Gratis UML-verktyg
- Gratis integrerade utvecklingsmiljöer
- Gratis programvara programmerad i Java (programmeringsspråk)
- IBM programvara
- Integrerade utvecklingsmiljöer
- Java utvecklingsverktyg
- Java-plattform
- Linux integrerade utvecklingsmiljöer
- Linux programmeringsverktyg
- Linux programvara
- MacOS programmeringsverktyg
- MacOS textredigerare
- Programmeringsverktyg för Windows
- Mjukvaruutvecklingssatser
- Programvara som använder Eclipse-licensen