Eclipse (software) - Eclipse (software)

Formørkelse
Eclipse-Luna-Logo.svg
Eclipse 4.12 screenshot.png
Velkomstskærm i Eclipse 4.12
Originale forfattere IBM
Udvikler (er) Eclipse Foundation
Første udgivelse 1.0 / 7. november 2001 ; 19 år siden ( 2001-11-07 )
Stabil udgivelse
4.21.0  Rediger dette på Wikidata / 15. september 2021 (for 31 dage siden)
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 .org Rediger dette på Wikidata

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 Gammel version, ikke længere vedligeholdt: 3.0
Ikke relevant 28. juni 2005 Gammel version, ikke længere vedligeholdt: 3.1 Tilføjet Java 5- understøttelse: generics, annotations, boxing-unboxing, enums, forbedret til loop, varargs, statisk import
Callisto 30. juni 2006 Gammel version, ikke længere vedligeholdt: 3.2 Callisto projekter
Europa 29. juni 2007 Gammel version, ikke længere vedligeholdt: 3.3 Europa -projekter
Ganymedes 25. juni 2008 Gammel version, ikke længere vedligeholdt: 3.4 Ganymedes projekter
Galileo 24. juni 2009 Gammel version, ikke længere vedligeholdt: 3.5 Galileo -projekter
Helios 23. juni 2010 Gammel version, ikke længere vedligeholdt: 3.6 Helios projekter
Indigo 22. juni 2011 Gammel version, ikke længere vedligeholdt: 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 Gammel version, ikke længere vedligeholdt: 3.8 og 4.2

Juno projekter
Kepler 26. juni 2013 Gammel version, ikke længere vedligeholdt: 4.3 Kepler projekter
Luna 25. juni 2014 Gammel version, ikke længere vedligeholdt: 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 Gammel version, ikke længere vedligeholdt: 4.5 Mars projekter
Neon 22. juni 2016 Gammel version, ikke længere vedligeholdt: 4.6 Neon projekter
Ilt 28. juni 2017 Gammel version, ikke længere vedligeholdt: 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 Gammel version, ikke længere vedligeholdt: 4.8 Fotonprojekter Faldet support til 32bit Windows og Linux.
2018-09 19. september 2018 Gammel version, ikke længere vedligeholdt: 4.9 2018-09 projekter
2018-12 19. december 2018 Gammel version, ikke længere vedligeholdt: 4.10 2018-12 projekter Tilføjet support til Java 11.
2019-03 20. marts 2019 Gammel version, ikke længere vedligeholdt: 4.11 2019-03 projekter
2019-06 19. juni 2019 Gammel version, ikke længere vedligeholdt: 4.12 2019-06 projekter
2019-09 18. september 2019 Gammel version, ikke længere vedligeholdt: 4.13 2019-09 projekter
2019-12 18. december 2019 Gammel version, ikke længere vedligeholdt: 4.14 2019-12 projekter
2020-03 18. marts 2020 Gammel version, ikke længere vedligeholdt: 4.15 2020-03 projekter Opdater support til webudviklingssprog, afhængig af sprogserverprotokol
2020-06 17. juni 2020 Gammel version, ikke længere vedligeholdt: 4.16 2020-06 projekter
2020-09 16. september 2020 Gammel version, ikke længere vedligeholdt: 4.17 2020-09 projekter Kræver JDK 11 for at køre.
2020-12 16. december 2020 Gammel version, ikke længere vedligeholdt: 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 Gammel version, ikke længere vedligeholdt: 4.19 2021-03 projekter
2021-06 16. juni 2021 Gammel version, ikke længere vedligeholdt: 4,20 2021-06 projekter
2021-09 15. september 2021 Nuværende stabil version: 4,21 2021-09 projekter
2021-12 8. december 2021 Fremtidig udgivelse: 4,22 2021-12 projekter
Legende:
Gammel version
Ældre version, stadig vedligeholdt
Nyeste version
Seneste eksempelversion
Fremtidig udgivelse
  1. ^ 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:

Eksempler på rige klientapplikationer baseret på Eclipse er:

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:

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 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å

Referencer

Kilder

eksterne links