Eclipse (software) - Eclipse (software)
Originale forfattere | IBM |
---|---|
Udvikler (er) | Eclipse Foundation |
Første udgivelse | 1.0 / 7. november 2001 |
Stabil udgivelse | |
Udgivelsesversion | 4.21 (2021-09 udgivelse)
|
Depot | |
Skrevet i | Java og C |
Operativ system | Linux , macOS , Windows |
Platform | Java SE , Standard Widget Toolkit , x86-64 |
Tilgængelig i | 44 sprog |
Liste over sprog
Albansk, arabisk, baskisk, bulgarsk, catalansk, kinesisk (forenklet, traditionel), tjekkisk, dansk, hollandsk, engelsk (Australien, Canada), estisk, finsk, fransk, tysk, græsk, hebraisk, hindi, ungarsk, indonesisk, italiensk, Japansk, klingonsk, koreansk, kurdisk, litauisk, malayalam, mongolsk, myanmar, nepalesisk, norsk, persisk, polsk, portugisisk (Portugal, Brasilien), rumænsk, russisk, serbisk, slovakisk, slovensk, spansk, svensk, thai, tyrkisk, ukrainsk , Vietnamesisk
| |
Type | Programmeringsværktøj , integreret udviklingsmiljø (IDE) |
Licens | Eclipse Public License |
Internet side |
www |
Eclipse er et integreret udviklingsmiljø (IDE), der bruges i computerprogrammering . Den indeholder et grundlæggende arbejdsområde og et udvideligt plug-in- system til tilpasning af miljøet. Eclipse er hovedsageligt skrevet i Java, og dens primære brug er til udvikling af Java-applikationer, men det kan også bruges til at udvikle applikationer på andre programmeringssprog via plug-ins, herunder Ada , ABAP , C , C ++ , C# , Clojure , COBOL , D , Erlang , Fortran , Groovy , Haskell , JavaScript , Julia , Lasso , Lua , NATURAL , Perl , PHP , Prolog , Python , R , Ruby (herunder Ruby on Rails framework), Rust , Scala og Scheme . Det kan også bruges til at udvikle dokumenter med LaTeX (via et TeXlipse-plug-in) og pakker til softwaren Mathematica . Udviklingsmiljøer omfatter blandt andet Eclipse Java -udviklingsværktøjer (JDT) til Java og Scala, Eclipse CDT til C/C ++ og Eclipse PDT til PHP.
Den oprindelige kodebase stammer fra IBM VisualAge . Eclipse software development kit (SDK), som inkluderer Java udviklingsværktøjer, er beregnet til Java udviklere. Brugere kan udvide sine evner ved at installere plug-ins, der er skrevet til Eclipse-platformen, f.eks. Udviklingsværktøjer til andre programmeringssprog, og kan skrive og bidrage med deres egne plug-in-moduler. Siden introduktionen af OSGi- implementeringen ( Equinox ) i version 3 af Eclipse kan plug-ins plug-stoppes dynamisk og betegnes (OSGI) bundter.
Eclipse software development kit (SDK) er gratis og open-source software , udgivet under vilkårene i Eclipse Public License , selvom det er inkompatibelt med GNU General Public License . Det var en af de første IDE'er, der kørte under GNU Classpath, og den kører uden problemer under IcedTea .
Historie
Eclipse blev inspireret af Smalltalk -baserede VisualAge -familien af integrerede udviklingsmiljøprodukter (IDE). Selvom det var temmelig vellykket, var en stor ulempe ved VisualAge-produkterne, at udviklet kode ikke var i en komponentbaseret softwareteknisk model. I stedet blev al kode til et projekt holdt i en komprimeret klump (lidt som en zip -fil, men i et proprietært format kaldet .dat). Det var ikke let at få adgang til individuelle klasser, bestemt ikke uden for værktøjet. Et team primært på IBM Cary, NC lab udviklede det nye produkt som en Java-baseret erstatning. I november 2001 blev der dannet et konsortium med en bestyrelse for at fremme udviklingen af Eclipse som open source-software . Det anslås, at IBM allerede havde investeret næsten 40 millioner dollars på det tidspunkt. De oprindelige medlemmer var Borland , IBM , Merant , QNX Software Systems , Rational Software , Red Hat , SuSE , TogetherSoft og WebGain . Antallet af forvaltere steg til over 80 ved udgangen af 2003. I januar 2004 blev Eclipse Foundation oprettet.
Eclipse 3.0 (udgivet den 21. juni 2004) valgte OSGi Service Platform -specifikationerne som runtime -arkitektur.
Den Association for Computing Machinery anerkendt Eclipse med 2011 ACM Software Systems Award den 26. april 2012.
Licensering
Den Eclipse Public License (EPL) er den fundamentale licensen til Eclipse projekter frigives. Nogle projekter kræver dobbelt licens, for hvilken Eclipse Distribution License (EDL) er tilgængelig, selvom brug af denne licens skal ansøges om og overvejes fra sag til sag.
Eclipse blev oprindeligt frigivet under Common Public License , men blev senere re-licenseret under Eclipse Public License. Den Free Software Foundation har sagt, at begge licenser er gratis software -licenser, men er uforenelige med GNU General Public License (GPL).
Navn
Ifølge Lee Nackman, Chief Technology Officer for IBM's Rational division (med oprindelse i 2003) på det tidspunkt, var navnet "Eclipse" (fra mindst 2001) ikke et ordspil på Sun Microsystems , da produktets primære konkurrence på tidspunktet for navngivning var Microsoft Visual Studio , som Eclipse skulle formørke.
Forskellige versioner af Eclipse har fået forskellige videnskabsrelaterede navne. De versioner opkaldt efter Callisto , Europa , og Ganymedes , som er måner af Jupiter , blev fulgt op af en version opkaldt efter Galileo , at opdageren af disse måner. Disse blev efterfulgt af to navne med soltema , Helios af græsk mytologi og Indigo , en af de syv farver i en regnbue (som produceres af solen). Versionen efter det, Juno, har en tredobbelt betydning: en romersk mytologisk figur , en asteroide og et rumskib til Jupiter . Kepler , Luna og Mars fortsatte astronomitemaet, og derefter udgjorde Neon og Oxygen et tema for kemiske elementer . Photon repræsenterede en tilbagevenden til navne med soltema.
Fra 2018 blev den alfabetiske ordning opgivet for bedre at kunne tilpasse sig den nye Simultaneous Release -strategi. Udgivelser navngives i formatet ÅÅÅÅ-MM for at afspejle de kvartalsvise udgivelser, der starter med version 4.9 med navnet 2018-09.
Udgivelser
Siden 2006 har fonden koordineret en årlig samtidig frigivelse . Hver udgivelse indeholder Eclipse -platformen og flere andre Eclipse -projekter.
Fra 2008 til 2018 havde hver samtidig frigivelse fundet sted den 4. onsdag i juni. I 2018 skiftede projektet til kvartalsvise (13 uger) ÅÅÅÅ-MM- udgivelser uden mellemliggende serviceudgivelser.
Versionsnavn | Dato | Platform version | Projekter | Vigtigste ændringer |
---|---|---|---|---|
Ikke relevant | 21. juni 2004 | 3.0 | ||
Ikke relevant | 28. juni 2005 | 3.1 | Tilføjet Java 5- understøttelse: generics, annotations, boxing-unboxing, enums, forbedret til loop, varargs, statisk import | |
Callisto | 30. juni 2006 | 3.2 | Callisto projekter | |
Europa | 29. juni 2007 | 3.3 | Europa -projekter | |
Ganymedes | 25. juni 2008 | 3.4 | Ganymedes projekter | |
Galileo | 24. juni 2009 | 3.5 | Galileo -projekter | |
Helios | 23. juni 2010 | 3.6 | Helios projekter | |
Indigo | 22. juni 2011 | 3.7 | Indigo projekter | Tilføjet Java 7- understøttelse (3.7.1 sr1): Forbedret typelinje for generisk oprettelse af forekomster (Diamond), Multi-catch, prøv-med-ressourcer-erklæring, forenklet Varargs-metodeopkaldelse, strenge i switch, binære litteraler og understregninger i numeriske litteraturer, Polymorfe metoder |
Juno | 27. juni 2012 |
|
3.8 og 4.2
Juno projekter | |
Kepler | 26. juni 2013 | 4.3 | Kepler projekter | |
Luna | 25. juni 2014 | 4.4 | Luna projekter | Integreret Java 8 -understøttelse; i den tidligere version var dette muligt via et Java 8-patch- plug-in. |
Mars | 24. juni 2015 | 4.5 | Mars projekter | |
Neon | 22. juni 2016 | 4.6 | Neon projekter | |
Ilt | 28. juni 2017 | 4.7 | Iltprojekter | Oxygen.1a introducerede Java 9 og Junit 5 support og Oxygen.3a introducerede Java 10 support.
Faldet support for følgende Unix-baserede platforme: AIX, Solaris, HP-UX og s390. |
Foton | 27. juni 2018 | 4.8 | Fotonprojekter | Faldet support til 32bit Windows og Linux. |
2018-09 | 19. september 2018 | 4.9 | 2018-09 projekter | |
2018-12 | 19. december 2018 | 4.10 | 2018-12 projekter | Tilføjet support til Java 11. |
2019-03 | 20. marts 2019 | 4.11 | 2019-03 projekter | |
2019-06 | 19. juni 2019 | 4.12 | 2019-06 projekter | |
2019-09 | 18. september 2019 | 4.13 | 2019-09 projekter | |
2019-12 | 18. december 2019 | 4.14 | 2019-12 projekter | |
2020-03 | 18. marts 2020 | 4.15 | 2020-03 projekter | Opdater support til webudviklingssprog, afhængig af sprogserverprotokol |
2020-06 | 17. juni 2020 | 4.16 | 2020-06 projekter | |
2020-09 | 16. september 2020 | 4.17 | 2020-09 projekter | Kræver JDK 11 for at køre. |
2020-12 | 16. december 2020 | 4.18 | 2020-12 projekter | En JDK er integreret i de fleste pakker, så en Java -installation er ikke en forudsætning. |
2021-03 | 17. marts 2021 | 4.19 | 2021-03 projekter | |
2021-06 | 16. juni 2021 | 4,20 | 2021-06 projekter | |
2021-09 | 15. september 2021 | 4,21 | 2021-09 projekter | |
2021-12 | 8. december 2021 | 4,22 | 2021-12 projekter |
- ^ Der er en 3.8 udgivelse af Eclipse Juno; det promoveres ikke på hovedsiden til downloads, men en pakket distribution kan downloades. Eclipse 3.8 giver fejlrettelser til Indigo & tilføjer Java 7 -understøttelse, og dens vedligeholdelse blev dual -streamet med 4.2. Funktioner og plug-ins svarende til en pakket distribution kan tilføjes indefra IDE'en.
Arkitektur
Eclipse bruger plug-ins til at levere al funktionalitet inden for og oven på køretidssystemet. Dets driftstidssystem er baseret på Equinox , en implementering af OSGi-kernespecifikationen .
Ud over at tillade Eclipse-platformen at blive udvidet ved hjælp af andre programmeringssprog , f.eks. C og Python , giver plug-in-rammerne Eclipse-platformen mulighed for at arbejde med at indstille sprog som LaTeX og netværksapplikationer såsom telnet- og databasesystemer . Plug-in-arkitekturen understøtter at skrive enhver ønsket udvidelse til miljøet, f.eks. Til konfigurationsstyring . Java- og CVS- support leveres i Eclipse SDK , med understøttelse af andre versionskontrolsystemer, der leveres af tredjeparts plug-ins .
Med undtagelse af en lille kørselstidskerne er alt i Eclipse et plug-in. Hver plug-in, der udvikles, integreres således med Eclipse på samme måde som andre plug-ins; i denne henseende er alle funktioner "skabt lige". Eclipse giver plug-ins til en lang række funktioner, hvoraf nogle er fra tredjeparter, der bruger både gratis og kommercielle modeller. Eksempler på plug-ins inkluderer for Unified Modeling Language (UML), for Sequence og andre UML-diagrammer, et plug-in til DB Explorer og mange flere.
Eclipse SDK inkluderer Eclipse Java udviklingsværktøjer (JDT), der tilbyder en IDE med en indbygget Java inkrementel compiler og en komplet model af Java kildefiler. Dette giver mulighed for avancerede refaktoringsteknikker og kodeanalyse. IDE gør også brug af en arbejdsområdet , i dette tilfælde et sæt metadata over en flad filespace tillader ekstern fil modifikationer, så længe den tilsvarende arbejdsområde ressource opdateres bagefter.
Eclipse implementerer de grafiske kontrolelementer i Java -værktøjssættet kaldet Standard Widget Toolkit (SWT), hvorimod de fleste Java -applikationer bruger Java -standarden Abstract Window Toolkit (AWT) eller Swing . Eclipses brugergrænseflade bruger også et mellemliggende grafisk brugergrænsefladelag kaldet JFace , hvilket forenkler konstruktionen af applikationer baseret på SWT. Eclipse blev lavet til at køre på Wayland under et Google Summer of Code (GSoC) -projekt i 2014.
Fra 2017 leverede sprogpakker, der blev udviklet af Babel -projektet, oversættelser til over 40 naturlige sprog .
Rig klientplatform
Eclipse giver den rige klientplatform (RCP) til udvikling af generelle applikationer.
Følgende komponenter udgør den rige klientplatform:
- Equinox OSGi - en standard bundtningsramme
- Core platform-boot Eclipse, kør plug-ins
- Standard Widget Toolkit (SWT) - en bærbar widget -værktøjskasse
- JFace - viewer klasser til at bringe model view controller programmering til SWT, filbuffere, teksthåndtering, tekstredigerere
- Eclipse Workbench - visninger, redaktører, perspektiver, guider
Eksempler på rige klientapplikationer baseret på Eclipse er:
- IBM Notes 8 og 9
- Attachmate-Novell NetIQ Designer til Identity Manager
- Apache Directory Studio
- Fjernkomponentmiljø
- DBeaver , en SQL -klientsoftware
- Portfolio Performance
- UDig , en GIS -software
Serverplatform
Eclipse understøtter udvikling til Tomcat , GlassFish og mange andre servere og er ofte i stand til at installere den nødvendige server (til udvikling) direkte fra IDE. Det understøtter fjernfejlfinding, så en bruger kan se variabler og gennemgå koden for et program, der kører på den tilknyttede server.
Webværktøjsplatform
Eclipse Web Tools Platform (WTP) -projektet er en udvidelse af Eclipse -platformen med værktøjer til udvikling af Web- og Java EE -applikationer. Den indeholder kilde- og grafiske redaktører til forskellige sprog, guider og indbyggede applikationer for at forenkle udviklingen og værktøjer og API'er til understøttelse af implementering, kørsel og test af apps.
Modelplatform
Modelleringsprojektet indeholder alle de officielle projekter fra Eclipse Foundation med fokus på modelbaserede udviklingsteknologier. Alle er kompatible med Eclipse Modeling Framework oprettet af IBM. Disse projekter er adskilt i flere kategorier: Model Transformation, Model Development Tools, Concrete Syntax Development, Abstract Syntax Development, Technology and Research og Amalgam.
Model Transformation projekter bruger Eclipse Modeling Framework (EMF) baserede modeller som input og producerer enten en model eller tekst som output. Model til model transformationsprojekter omfatter ATLAS Transformation Language (ATL), et open source transformationssprog og værktøjskasse, der bruges til at transformere en given model eller til at generere en ny model ud fra en given EMF -model. Model til tekst transformation projekter indeholder Acceleo , en implementering af MOFM2T , en standard model til tekst sprog fra Object Management Group (OMG). Den Acceleo kode generator kan generere nogen tekstmæssige sprog (Java, PHP, Python, etc.) fra EMF baserede modeller, der er defineret med en hvilken som helst metamodel ( Unified Modeling Language (UML), Systems Modeling Language (SysML), etc.). Det er open-source.
Modeludviklingsværktøjsprojekter er implementeringer af forskellige modelleringsstandarder, der bruges i branchen, og deres værktøjskasser. Blandt disse projekter findes implementeringer af flere standarder:
- Unified Modeling Language (UML)
- Systems Modeling Language (SysML)
- Object Constraint Language (OCL)
- Business Process Model and Notation (BPMN)
- Interactive Media Manager (IMM)
- Semantik i forretningsordforråd og forretningsregler (SBVR)
- XML -skema (XSD)
- National Electronic Distributors Association (NEDA)
Concrete Syntax Development-projektet indeholder den grafiske modelleringsramme, en Eclipse-baseret ramme dedikeret til den grafiske fremstilling af EMF-baserede modeller.
Projektet Abstract Syntax Development er vært for Eclipse Modeling Framework, kernen i de fleste modelleringsprojekter for Eclipse Foundation og de tilgængelige rammer for EMF som Connected Data Objects (CDO), EMF -forespørgsel eller EMF -validering.
Teknologi og forskningsprojekter er prototyper af modelleringsprojekt; dette projekt bruges til at være vært for alle modelleringsprojekterne for Eclipse Foundation i deres inkubationsfase.
Amalgam leverer emballage og integration mellem alle de tilgængelige modelleringsværktøjer til Eclipse -pakken dedikeret til modelleringsværktøjer.
Administration af applikations livscyklus
Ansøgning lifecycle management (ALM) og opgavestyring i Eclipse brug en valgfri komponent kaldet Mylyn ( / m aɪ l ɪ n / ), en open source implementering af opgavefokuseret grænseflade . Det giver en API til værktøjer, der integrerer den opgavefokuserede grænseflade. For softwareudviklere hjælper det en udvikler med at arbejde effektivt med mange forskellige opgaver (f.eks. Fejl, problemrapporter eller nye funktioner). Opgaver er integreret i Mylyn. For alle opgaver, der er integreret, overvåger Mylyn brugeraktivitet og forsøger at identificere oplysninger, der er relevante for den aktuelle opgave. Den bruger denne opgavekontekst til at fokusere Eclipse UI på den relaterede information. Mylyn kan integreres med lagre som Bugzilla , Trac , Redmine , Mantis , JIRA , Unfuddle og GitHub . Det fokuserer på at forbedre produktiviteten ved at reducere søgning, rulning og navigation. Ved at gøre opgavekonteksten eksplicit, er Mylyn også beregnet til at lette multitasking, planlægning, genbrug af tidligere indsatser og deling af ekspertise.
Projektnavnet kommer fra myelin , et elektrisk isolerende lag, der omgiver neurons axoner. Det originale navn på dette projekt, "Mylar", replikerede et varemærke tilhørende et boPET -filmfirma , så Eclipse Foundation ændrede projektnavnet.
Udvidelser
Eclipse understøtter et stort udvalg af udvidelser, tilføjer understøttelse af Python via PyDev , Android -udvikling via Googles ADT (erstattet af Android Studio siden 2015), JavaFX via e (fx) clipse, JavaScript , jQuery og mange andre på Eclipse Marketplace. Valable er et Vala- plug-in til Eclipse.
Alternative distributioner
Der findes flere alternative distributioner i Eclipse -projektet.
PHP udviklingsværktøjer
PHP Hypertext Preprocessor (PHP) Development Tools -projektet danner ramme for Eclipse -platformen. Projektet omfatter alle udviklingskomponenter, herunder kodeudfyldelse, udvikle PHP og lette udvidelse. Det udnytter den eksisterende Eclipse Web Tools Platform (WTP) og Dynamic Languages Toolkit (DLTK).
Android udviklingsværktøjer
Android Development Tools (ADT) blev afløst i 2015 af Eclipse foundation's eget plugin, kaldet Andmore: Development Tools for Android , efter at Google indstillede udviklingen af deres plug-in til Eclipse IDE, der er designet til at give et integreret miljø, hvor bygge Android -applikationer. ADT/Andmore udvider Eclipse's evner til at lade udviklere oprette nye Android -projekter, oprette et applikationsgrænseflade, tilføje pakker baseret på Android Framework API, fejlsøge deres applikationer ved hjælp af Android SDK -værktøjer og eksportere signerede (eller usignerede) .apk -filer for at distribuere deres applikationer. Det er frit tilgængeligt at downloade. Googles 'ADT var den officielle IDE for Android indtil 2015, men blev erstattet af Eclipses Andmore og det officielle Android Studio .
Se også
- Sammenligning af integrerede udviklingsmiljøer
- Sammenligning af integrerede udviklingsmiljøer til Java
- Liste over Eclipse-baseret software
- Liste over Eclipse -projekter
Referencer
Kilder
- Silva, Vladimir (11. marts 2009). Praktiske Eclipse Rich Client Platform -projekter (1. udgave). Undgå . s. 352. ISBN 978-1-4302-1827-2.
- Burnette, Ed (12. august 2005). Eclipse IDE Pocket Guide (1. udgave). O'Reilly Media . s. 128. ISBN 978-0-596-10065-0.
- Holzner, Steve (1. maj 2004). Eclipse (1. udgave). O'Reilly Media . s. 317 . ISBN 0-596-00641-1.
- McAffer, Jeff; Lemieux, Jean-Michel; Aniszczyk, Chris (22. maj 2010). Eclipse Rich Client Platform (2. udgave). Addison-Wesley Professional . s. 552. ISBN 978-0-321-60378-4. Arkiveret fra originalen den 7. juli 2012 . Hentet 18. juni 2011 .
- Vogel, Lars (2013). Eclipse IDE: Java -programmering, fejlfinding, enhedstest, opgavestyring og Git -versionskontrol med Eclipse . vogella.com (3. udgave). Leipzig. ISBN 978-3943747041.
eksterne links
- Formørkelse på Wikibooks
- Medier relateret til Eclipse IDE på Wikimedia Commons
- Officiel hjemmeside