Eclipse (software) - Eclipse (software)
Autori originali | IBM |
---|---|
Sviluppatore/i | Fondazione Eclipse |
Versione iniziale | 1.0/7 novembre 2001 |
Rilascio stabile | |
Rilascio in anteprima | 4.21 (versione 21-09)
|
Repository | |
Scritto in | Java e C |
Sistema operativo | Linux , macOS , Windows |
piattaforma | Java SE , Toolkit widget standard , x86-64 |
Disponibile in | 44 lingue |
Elenco delle lingue
albanese, arabo, basco, bulgaro, catalano, cinese (semplificato, tradizionale), ceco, danese, olandese, inglese (Australia, Canada), estone, finlandese, francese, tedesco, greco, ebraico, hindi, ungherese, indonesiano, italiano, giapponese, klingon, coreano, curdo, lituano, malayalam, mongolo, birmano, nepalese, norvegese, persiano, polacco, portoghese (Portogallo, Brasile), rumeno, russo, serbo, slovacco, sloveno, spagnolo, svedese, tailandese, turco, ucraino , vietnamita
| |
Tipo | Strumento di programmazione , ambiente di sviluppo integrato (IDE) |
Licenza | Licenza pubblica Eclipse |
Sito web |
www |
Eclipse è un ambiente di sviluppo integrato (IDE) utilizzato nella programmazione di computer . Contiene uno spazio di lavoro di base e un sistema di plug-in estensibile per la personalizzazione dell'ambiente. Eclipse è scritto principalmente in Java e il suo utilizzo principale è per lo sviluppo di applicazioni Java, ma può anche essere utilizzato per sviluppare applicazioni in altri linguaggi di programmazione tramite plug-in, inclusi Ada , ABAP , C , C++ , C# , Clojure , COBOL , D , Erlang , Fortran , Groovy , Haskell , JavaScript , Julia , Lasso , Lua , NATURAL , Perl , PHP , Prolog , Python , R , Ruby (compreso il framework Ruby on Rails ), Rust , Scala e Scheme . Può essere utilizzato anche per sviluppare documenti con LaTeX (tramite un plug-in TeXlipse) e pacchetti per il software Mathematica . Gli ambienti di sviluppo includono gli strumenti di sviluppo Java Eclipse (JDT) per Java e Scala, Eclipse CDT per C/C++ ed Eclipse PDT per PHP, tra gli altri.
Il codebase iniziale ha avuto origine da IBM VisualAge . Il kit di sviluppo software Eclipse (SDK), che include gli strumenti di sviluppo Java, è pensato per gli sviluppatori Java. Gli utenti possono estendere le sue capacità installando plug-in scritti per la piattaforma Eclipse, come toolkit di sviluppo per altri linguaggi di programmazione, e possono scrivere e contribuire con i propri moduli plug-in. Dall'introduzione dell'implementazione OSGi ( Equinox ) nella versione 3 di Eclipse, i plug-in possono essere bloccati dinamicamente e sono chiamati bundle (OSGI).
Eclipse software development kit (SDK) è un software gratuito e open source , rilasciato sotto i termini della Eclipse Public License , sebbene sia incompatibile con la GNU General Public License . È stato uno dei primi IDE a funzionare sotto GNU Classpath e funziona senza problemi sotto IcedTea .
Storia
Eclipse è stato ispirato dalla famiglia VisualAge basata su Smalltalk di prodotti IDE ( Integrated Development Environment ). Sebbene un discreto successo, uno dei principali svantaggi dei prodotti VisualAge era che il codice sviluppato non era in un modello di ingegneria del software basato su componenti . Invece, tutto il codice di un progetto era contenuto in un blocco compresso (un po' come un file zip ma in un formato proprietario chiamato .dat). Le lezioni individuali non potevano essere facilmente accessibili, certamente non al di fuori dello strumento. Un team principalmente presso il laboratorio IBM Cary, NC, ha sviluppato il nuovo prodotto come sostituto basato su Java. Nel novembre 2001, è stato formato un consorzio con un consiglio di amministrazione per promuovere lo sviluppo di Eclipse come software open source . Si stima che a quel tempo IBM avesse già investito quasi 40 milioni di dollari. I membri originali erano Borland , IBM , Merant , QNX Software Systems , Rational Software , Red Hat , SuSE , TogetherSoft e WebGain . Il numero di steward è aumentato a oltre 80 entro la fine del 2003. Nel gennaio 2004 è stata creata la Fondazione Eclipse .
Eclipse 3.0 (rilasciato il 21 giugno 2004) ha selezionato le specifiche OSGi Service Platform come architettura di runtime.
Il 26 aprile 2012 l' Association for Computing Machinery ha premiato Eclipse con l' ACM Software Systems Award 2011.
Licenza
La Eclipse Public License (EPL) è la licenza fondamentale in base alla quale vengono rilasciati i progetti Eclipse. Alcuni progetti richiedono una doppia licenza, per la quale è disponibile la Eclipse Distribution License (EDL), sebbene l'uso di questa licenza debba essere richiesto e valutato caso per caso.
Eclipse è stato originariamente rilasciato sotto la Common Public License , ma in seguito è stato ri-licenziato sotto la Eclipse Public License. La Free Software Foundation ha affermato che entrambe le licenze sono licenze di software libero, ma sono incompatibili con la GNU General Public License (GPL).
Nome
Secondo Lee Nackman, Chief Technology Officer della divisione Rational di IBM (originata nel 2003) a quel tempo, il nome "Eclipse" (risalente almeno al 2001) non era un gioco di parole su Sun Microsystems , poiché la principale concorrenza del prodotto al momento della la denominazione era Microsoft Visual Studio , che Eclipse doveva eclissare.
A diverse versioni di Eclipse sono stati dati nomi scientifici diversi. Le versioni intitolate a Callisto , Europa e Ganimede , che sono lune di Giove , furono seguite da una versione intitolata a Galileo , lo scopritore di quelle lune. Questi sono stati seguiti da due nomi a tema solare, Helios della mitologia greca e Indaco , uno dei sette colori di un arcobaleno (che è prodotto dal sole). La versione successiva, Giunone, ha un triplice significato: una figura mitologica romana , un asteroide e un'astronave per Giove . Keplero , Luna e Marte hanno continuato il tema dell'astronomia, e poi Neon e Ossigeno hanno costituito un tema degli elementi chimici . Photon ha rappresentato un ritorno ai nomi a tema solare.
A partire dal 2018, lo schema alfabetico è stato abbandonato per allinearsi meglio con la nuova strategia di rilascio simultaneo. Le versioni sono denominate nel formato AAAA-MM per riflettere le versioni trimestrali, a partire dalla versione 4.9 denominata 2018-09.
Rilasci
Dal 2006 la Fondazione coordina un Rilascio Simultaneo annuale . Ogni versione include la piattaforma Eclipse e molti altri progetti Eclipse.
Dal 2008 al 2018, ogni rilascio simultaneo è avvenuto il 4 mercoledì di giugno. Nel 2018 il progetto è passato a rilasci trimestrali (13 settimane) AAAA-MM senza rilasci di servizio intermedi.
Nome versione | Data | Versione piattaforma | Progetti | Principali cambiamenti |
---|---|---|---|---|
N / A | 21 giugno 2004 | 3.0 | ||
N / A | 28 giugno 2005 | 3.1 | Aggiunto supporto Java 5 : generics, annotazioni, boxing-unboxing, enum, Enhanced for loop, varargs, static imports | |
Callisto | 30 giugno 2006 | 3.2 | Progetti di Callisto | |
Europa | 29 giugno 2007 | 3.3 | Progetti Europa | |
Ganimede | 25 giugno 2008 | 3.4 | Progetti Ganimede | |
Galileo | 24 giugno 2009 | 3.5 | Progetti Galileo | |
Helios | 23 giugno 2010 | 3.6 | Progetti Helios | |
Indaco | 22 giugno 2011 | 3.7 | Progetti indaco | Aggiunto supporto Java 7 (3.7.1 sr1): Miglioramento dell'inferenza del tipo per la creazione di istanze generiche (Diamond), Multi-catch, istruzione try-with-resources, Invocazione del metodo Varargs semplificata, Stringhe in switch, Letterali binari e caratteri di sottolineatura in Letterali numerici, Metodi polimorfici |
Giunone | 27 giugno 2012 |
|
3.8 e 4.2
Progetti di Giunone | |
Keplero | 26 giugno 2013 | 4.3 | Progetti di Keplero | |
Luna | 25 giugno 2014 | 4.4 | Progetti Luna | Supporto Java 8 integrato; nella versione precedente, ciò era possibile tramite un plug-in di patch Java 8 . |
Marte | 24 giugno 2015 | 4.5 | Progetti su Marte | |
Neon | 22 giugno 2016 | 4.6 | Progetti al neon | |
Ossigeno | 28 giugno 2017 | 4.7 | Progetti sull'ossigeno | Oxygen.1a ha introdotto il supporto per Java 9 e Junit 5 e Oxygen.3a ha introdotto il supporto per Java 10.
Supporto interrotto per le seguenti piattaforme basate su Unix: AIX, Solaris, HP-UX e s390. |
Fotone | 27 giugno 2018 | 4.8 | Progetti di fotoni | Supporto interrotto per Windows e Linux a 32 bit. |
2018-09 | 19 settembre 2018 | 4.9 | Progetti 2018-09 | |
2018-12 | 19 dicembre 2018 | 4.10 | Progetti 2018-12 | Aggiunto supporto per Java 11. |
2019-03 | 20 marzo 2019 | 4.11 | Progetti 2019-03 | |
2019-06 | 19 giugno 2019 | 4.12 | progetti 2019-06 | |
2019-09 | 18 settembre 2019 | 4.13 | progetti 2019-09 | |
2019-12 | 18 dicembre 2019 | 4.14 | Progetti 2019-12 | |
2020-03 | 18 marzo 2020 | 4.15 | Progetti 2020-03 | Aggiorna il supporto per i linguaggi di sviluppo Web, basandosi sul protocollo Language Server |
2020-06 | 17 giugno 2020 | 4.16 | Progetti 2020-06 | |
2020-09 | 16 settembre 2020 | 4.17 | Progetti 2020-09 | Richiede JDK 11 per l'esecuzione. |
2020-12 | 16 dicembre 2020 | 4.18 | Progetti 2020-12 | Un JDK è incorporato nella maggior parte dei pacchetti, quindi un'installazione Java non è un prerequisito. |
2021-03 | 17 marzo 2021 | 4.19 | Progetti 2021-03 | |
2021-06 | 16 giugno 2021 | 4.20 | Progetti 2021-06 | |
2021-09 | 15 settembre 2021 | 4.21 | Progetti 2021-09 | |
2021-12 | 8 dicembre 2021 | 4.22 | 2021-12 progetti |
- ^ Esiste una versione 3.8 di Eclipse Juno; non è promosso nella pagina principale dei download, ma è disponibile per il download una distribuzione in pacchetti. Eclipse 3.8 fornisce correzioni di bug per Indigo e aggiunge il supporto per Java 7 e la sua manutenzione è stata eseguita in doppio streaming con 4.2. È possibile aggiungere funzionalità e plug-in equivalenti a una distribuzione pacchettizzata dall'interno dell'IDE.
Architettura
Eclipse utilizza i plug-in per fornire tutte le funzionalità all'interno e al di sopra del sistema runtime. Il suo sistema runtime è basato su Equinox , un'implementazione della specifica del framework principale OSGi .
Oltre a consentire l'estensione della piattaforma Eclipse utilizzando altri linguaggi di programmazione , come C e Python , il framework plug-in consente alla piattaforma Eclipse di funzionare con linguaggi di composizione come LaTeX e applicazioni di rete come telnet e sistemi di gestione di database . L'architettura plug-in supporta la scrittura di qualsiasi estensione desiderata nell'ambiente, ad esempio per la gestione della configurazione . Il supporto Java e CVS è fornito nell'SDK di Eclipse , con il supporto per altri sistemi di controllo della versione forniti da plug-in di terze parti .
Ad eccezione di un piccolo kernel runtime, tutto in Eclipse è un plug-in. Pertanto, ogni plug-in sviluppato si integra con Eclipse allo stesso modo degli altri plug-in; in questo senso, tutte le caratteristiche sono "create uguali". Eclipse fornisce plug-in per un'ampia varietà di funzionalità, alcune delle quali sono di terze parti che utilizzano modelli sia gratuiti che commerciali. Esempi di plug-in includono Unified Modeling Language (UML), per Sequence e altri diagrammi UML, un plug-in per DB Explorer e molti altri.
L'SDK Eclipse include gli strumenti di sviluppo Java Eclipse (JDT), offrendo un IDE con un compilatore incrementale Java integrato e un modello completo dei file sorgente Java. Ciò consente tecniche di refactoring avanzate e analisi del codice. L'IDE utilizza anche uno spazio di lavoro , in questo caso un insieme di metadati su uno spazio file flat che consente modifiche ai file esterni purché la risorsa dello spazio di lavoro corrispondente venga aggiornata in seguito.
Eclipse implementa gli elementi di controllo grafico del toolkit Java chiamato Standard Widget Toolkit (SWT), mentre la maggior parte delle applicazioni Java utilizza lo standard Java Abstract Window Toolkit (AWT) o Swing . L' interfaccia utente di Eclipse utilizza anche un livello di interfaccia utente grafica intermedio chiamato JFace , che semplifica la costruzione di applicazioni basate su SWT. Eclipse è stato creato per funzionare su Wayland durante un progetto Google Summer of Code (GSoC) nel 2014.
A partire dal 2017, i language pack sviluppati dal Progetto Babel forniscono traduzioni in oltre 40 lingue naturali .
Piattaforma client ricca
Eclipse fornisce la piattaforma rich client (RCP) per lo sviluppo di applicazioni generiche.
I seguenti componenti costituiscono la piattaforma rich client:
- Equinox OSGi : un framework di bundle standard
- Piattaforma principale: avvia Eclipse, esegui plug-in
- Standard Widget Toolkit (SWT): un toolkit widget portatile
- JFace : classi di visualizzazione per portare la programmazione del controller della vista del modello su SWT, buffer di file, gestione del testo, editor di testo
- Eclipse Workbench: viste, editor, prospettive, procedure guidate
Esempi di applicazioni rich client basate su Eclipse sono:
- IBM Note 8 e 9
- Attachmate-Novell NetIQ Designer per Identity Manager
- Apache Directory Studio
- Ambiente componente remoto
- DBeaver , un software client SQL
- Rendimento del portafoglio
- UDig , un software GIS
Piattaforma server
Eclipse supporta lo sviluppo per Tomcat , GlassFish e molti altri server ed è spesso in grado di installare il server richiesto (per lo sviluppo) direttamente dall'IDE. Supporta il debug remoto, consentendo a un utente di guardare le variabili e scorrere il codice di un'applicazione in esecuzione sul server collegato.
Piattaforma di strumenti Web
Il progetto Eclipse Web Tools Platform (WTP) è un'estensione della piattaforma Eclipse con strumenti per lo sviluppo di applicazioni Web e Java EE. Include editor di sorgenti e grafici per una varietà di linguaggi, procedure guidate e applicazioni integrate per semplificare lo sviluppo e strumenti e API per supportare la distribuzione, l'esecuzione e il test delle app.
Piattaforma di modellazione
Il progetto Modeling contiene tutti i progetti ufficiali della Fondazione Eclipse incentrati sulle tecnologie di sviluppo basate su modelli. Tutti sono compatibili con Eclipse Modeling Framework creato da IBM. Questi progetti sono suddivisi in diverse categorie: Trasformazione del modello, Strumenti di sviluppo del modello, Sviluppo della sintassi concreta, Sviluppo della sintassi astratta, Tecnologia e ricerca e Amalgam.
I progetti di trasformazione del modello utilizzano modelli basati su Eclipse Modeling Framework (EMF) come input e producono un modello o un testo come output. I progetti di trasformazione da modello a modello includono ATLAS Transformation Language (ATL), un linguaggio di trasformazione open source e un toolkit utilizzato per trasformare un determinato modello o per generare un nuovo modello da un determinato modello EMF. I progetti di trasformazione da modello a testo contengono Acceleo , un'implementazione di MOFM2T , un modello standard per il linguaggio di testo dell'Object Management Group (OMG). Il generatore di codice Acceleo può generare qualsiasi linguaggio testuale (Java, PHP, Python, ecc.) da modelli basati su EMF definiti con qualsiasi metamodello ( Unified Modeling Language (UML), Systems Modeling Language (SysML), ecc.). È open source.
I progetti di Model Development Tools sono implementazioni di vari standard di modellazione utilizzati nel settore e dei relativi toolkit. Tra questi progetti si possono trovare implementazioni di diversi standard:
- Linguaggio di modellazione unificato (UML)
- Linguaggio di modellazione dei sistemi (SysML)
- Object Constraint Language (OCL)
- Modello e notazione dei processi aziendali (BPMN)
- Gestore multimediale interattivo (IMM)
- Semantica del vocabolario aziendale e delle regole aziendali (SBVR)
- Schema XML (XSD)
- Associazione nazionale dei distributori elettronici (NEDA)
Il progetto Concrete Syntax Development contiene il Graphical Modeling Framework, un framework basato su Eclipse dedicato alla rappresentazione grafica di modelli basati su EMF.
Il progetto Abstract Syntax Development ospita l'Eclipse Modeling Framework, nucleo della maggior parte del progetto di modellazione della Fondazione Eclipse e il framework disponibile per EMF come Connected Data Objects (CDO), query EMF o convalida EMF.
I progetti Tecnologia e Ricerca sono prototipi del progetto Modellazione; questo progetto è utilizzato per ospitare tutti i progetti di modellazione della Fondazione Eclipse durante la loro fase di incubazione.
Amalgam fornisce il pacchetto e l'integrazione tra tutti gli strumenti di modellazione disponibili per il pacchetto Eclipse dedicato agli strumenti di modellazione.
Gestione del ciclo di vita delle applicazioni
Application Lifecycle Management (ALM) e gestione delle attività in Eclipse bisogno di un componente opzionale chiamato Mylyn ( / m aɪ l ɪ n / ), un open-source attuazione della interfaccia compito-focalizzato . Fornisce un'API per gli strumenti che incorporano l'interfaccia incentrata sulle attività. Per gli sviluppatori di software, aiuta uno sviluppatore a lavorare in modo efficiente con molte attività diverse (come bug, segnalazioni di problemi o nuove funzionalità). Le attività sono integrate in Mylyn. Per tutte le attività che sono state integrate, Mylyn monitora l'attività dell'utente e cerca di identificare le informazioni rilevanti per l'attività in corso. Utilizza questo contesto dell'attività per focalizzare l'interfaccia utente di Eclipse sulle informazioni correlate. Mylyn può integrarsi con repository come Bugzilla , Trac , Redmine , Mantis , JIRA , Unfuddle e GitHub . Si concentra sul miglioramento della produttività riducendo la ricerca, lo scorrimento e la navigazione. Rendendo esplicito il contesto dell'attività, Mylyn ha anche lo scopo di facilitare il multitasking, la pianificazione, il riutilizzo degli sforzi passati e la condivisione delle competenze.
Il nome del progetto deriva dalla mielina , uno strato elettricamente isolante che circonda gli assoni dei neuroni. Il nome originale di questo progetto, "Mylar", replicava un marchio di una società di film boPET , quindi la Fondazione Eclipse ha cambiato il nome del progetto.
Estensioni
Eclipse supporta una ricca selezione di estensioni, aggiungendo il supporto per Python tramite PyDev , lo sviluppo Android tramite ADT di Google (sostituito da Android Studio dal 2015), JavaFX tramite e(fx)clipse, JavaScript , jQuery e molti altri su Eclipse Marketplace. Valable è un plug-in Vala per Eclipse.
Distribuzioni alternative
Esistono diverse distribuzioni alternative nel progetto Eclipse.
Strumenti di sviluppo PHP
Il progetto PHP Hypertext Preprocessor (PHP) Development Tools fornisce un framework per la piattaforma Eclipse. Il progetto comprende tutti i componenti di sviluppo, compreso il completamento del codice, sviluppare PHP e facilitare l'estensibilità. Sfrutta l'esistente Eclipse Web Tools Platform (WTP) e il Dynamic Languages Toolkit (DLTK).
Strumenti di sviluppo Android
Android Development Tools (ADT) è stato sostituito nel 2015 dal plug-in della fondazione Eclipse, chiamato Andmore: Development Tools for Android , dopo che Google ha interrotto lo sviluppo del plug-in per l'IDE Eclipse, progettato per fornire un ambiente integrato in cui creare applicazioni Android. ADT/Andmore estende le capacità di Eclipse per consentire agli sviluppatori di configurare nuovi progetti Android, creare un'interfaccia utente dell'applicazione, aggiungere pacchetti basati sull'API del framework Android, eseguire il debug delle applicazioni utilizzando gli strumenti Android SDK ed esportare file .apk firmati (o non firmati). per distribuire le loro applicazioni. È disponibile gratuitamente per il download. L'ADT di Google è stato l'IDE ufficiale per Android fino al 2015, ma è stato sostituito da Andmore di Eclipse e Android Studio ufficiale .
Guarda anche
- Confronto tra ambienti di sviluppo integrati
- Confronto tra ambienti di sviluppo integrati per Java
- Elenco dei software basati su Eclipse
- Elenco dei progetti Eclipse
Riferimenti
Fonti
- Silva, Vladimir (11 marzo 2009). Progetti pratici della piattaforma Eclipse Rich Client (1a ed.). Apress . P. 352. ISBN 978-1-4302-1827-2.
- Burnette, Ed (12 agosto 2005). Eclipse IDE Pocket Guide (1a ed.). O'Reilly Media . P. 128. ISBN 978-0-596-10065-0.
- Holzner, Steve (1 maggio 2004). Eclipse (1a ed.). O'Reilly Media . P. 317 . ISBN 0-596-00641-1.
- McAffer, Jeff; Lemieux, Jean-Michel; Aniszczyk, Chris (22 maggio 2010). Piattaforma Eclipse Rich Client (2a ed.). Addison-Wesley professionista . P. 552. ISBN 978-0-321-60378-4. Archiviato dall'originale il 7 luglio 2012 . Estratto il 18 giugno 2011 .
- Vogel, Lars (2013). Eclipse IDE: programmazione Java, debugging, unit test, gestione delle attività e controllo della versione Git con Eclipse . vogella.com (3a ed.). Lipsia. ISBN 978-3943747041.
link esterno
- Eclipse su Wikibooks
- Mezzi relativi a Eclipse IDE su Wikimedia Commons
- Sito ufficiale