Eclipse (progetto)

Eclisse Descrizione dell'immagine Eclipse 4.12 screenshot.png. Informazione
Creatore Object Technology International ( in )
Sviluppato da Fondazione Eclipse
Prima versione 7 novembre 2001
Ultima versione 4.19 (17 marzo 2021)
Depositare git.eclipse.org/c
Scritto in Giava
Interfaccia Toolkit widget standard
Sistema operativo GNU / Linux , macOS , Microsoft Windows e Solaris
Ambiente Macchina virtuale Java
Le lingue Multilingue
genere Ambiente di sviluppo integrato
Licenza Licenza Eclipse
Documentazione www.eclipse.org/contribute
Sito web www.eclipse.org

Cronologia delle versioni

Eclipse è un progetto, declinato e organizzato in una serie di sottoprogetti di sviluppo software, della fondazione Eclipse che mira a sviluppare un ambiente di produzione di software libero che sia estensibile, universale e versatile, basandosi principalmente su Java .

Il suo obiettivo è quello di produrre e fornire strumenti per la realizzazione di software, che comprende attività di programmazione (in particolare ambiente di sviluppo integrato e framework ) ma anche AGL che copre modellazione , progettazione , test , gestione della configurazione , reporting ... Il suo EDI , parte integrante del progetto, mira in particolare a supportare qualsiasi linguaggio di programmazione come Microsoft Visual Studio .

Sebbene Eclipse fosse inizialmente progettato esclusivamente per produrre ambienti di sviluppo, utenti e collaboratori iniziarono rapidamente a riutilizzare i suoi mattoni software per le applicazioni client classiche. Ciò ha portato a un'estensione dell'ambito iniziale di Eclipse a tutta la produzione di software: è la comparsa del framework Eclipse RCP nel 2004.

Una delle grandi storie di successo dell'open source , Eclipse è diventato uno standard nel mercato del software di sviluppo, integrato dai principali fornitori di software e società di servizi . Il software commerciale Lotus Notes 8 , IBM Lotus Symphony o WebSphere Studio Application Developer sono basati in particolare su Eclipse.

Architettura Eclipse

Il metaprogetto Eclipse è composto e organizzato in una galassia di progetti software. La sua specificità risiede nella sua architettura totalmente sviluppata intorno alla nozione di plugin secondo lo standard OSGi  : tutte le funzionalità del software workshop devono essere sviluppate come plug-in costruiti attorno alla piattaforma Eclipse .

Eclipse offre un framework di sviluppo software che fornisce mattoni software per sviluppare questi strumenti. Infatti Eclipse è considerato sia come un IDE , un framework o una piattaforma , a seconda che si consideri il progetto, i suoi componenti, gli IDE risultanti dal loro assemblaggio:

Il progetto Eclipse, infatti, offre anche dei “  pacchetti  ” da scaricare: può essere:

Eclipse RCP non è trattato come un sottoprogetto di Eclipse, né come un pacchetto, ma si presenta come una piattaforma.

Progetti di primo livello

I principali progetti e sottoprogetti Eclipse organizzati per famiglia

Eclipse è organizzato nel 2011 in undici progetti di primo livello , ognuno di questi progetti essendo in grado di contenere diversi sottoprogetti:

Progetto Eclipse progetto fondante comprendente in particolare la piattaforma Eclipse e il JDT Strumenti di Business Intelligence e Reporting (BIRT) dedicato al reporting e alla business intelligence Progetto piattaforma Data Tools (DTP) progetto di visualizzazione e manipolazione di database relazionali Progetto di modellazione Eclipse dedicato alla modellazione ( UML , EMF ...) Tempo di esecuzione (RT) in precedenza Device Software Development Platform (DSDP), strumenti di sviluppo per sistemi embedded Progetto piattaforma strumenti SOA (STP) dedicato alle architetture orientate ai servizi Progetto Strumenti riunisce strumenti più specificamente dedicati a determinati linguaggi di sviluppo Progetto piattaforma strumenti di test e prestazioni (TPTP) dedicato al test e alla qualificazione del software Eclipse Web Tools Platform Project (WTP) dedicato agli strumenti di sviluppo per le tecnologie web Progetto tecnologico vari progetti ancora in stato di standby o incubazione Mylyn gestione delle attività, ultimo progetto apparso in Eclipse, nel 2006 (v3.2)

Il nucleo del progetto Eclipse

Eclipse Project è il progetto fondante attorno al quale sono raggruppati gli altri componenti di Eclipse; nel 2012 comprende i sottoprogetti:

piattaforma definisce i componenti comuni di base dell'intero modello di sviluppo Eclipse. Ambiente di sviluppo plug-in (PDE) riunisce i plugin Eclipse per lo sviluppo e il test di altri plugin Eclipse, in accordo con OSGi su cui si basa la filosofia Eclipse. PDE rende quindi possibile creare plugin Eclipse come bundle OSGi quindi, per assemblaggio, applicazioni RCP complete. Strumenti di sviluppo Java (JDT) raggruppa i plugin che coprono le funzionalità usuali e specifiche per ambienti di sviluppo come l'esecuzione di codice con debugging . Piattaforma Eclipse

L'IDE della piattaforma Eclipse è scritto principalmente in Java (utilizzando la libreria grafica SWT , da IBM ); questo linguaggio, grazie a librerie specifiche, viene utilizzato anche per scrivere estensioni.

La base dell'ambiente di sviluppo integrato che costituisce l'IDE della piattaforma Eclipse è composta da:

Platform Runtime avvio della piattaforma e gestione dei plug-in SWT la libreria grafica IDE di base JFace una libreria grafica di livello superiore basata su SWT Banco da lavoro Eclipse il livello grafico finale per l'organizzazione e la manipolazione di componenti, come viste, editor e prospettive.

Tutti questi componenti di base possono essere riutilizzati per sviluppare client pesanti indipendenti di Eclipse grazie al pacchetto Eclipse RCP ( Rich Client Platform ).

Eclipse RCP

Presentato come una piattaforma all'interno di Eclipse, Eclipse RCP costituisce una base di sviluppo per i rich client .

Storico

Mentre originariamente le librerie software sviluppate sul progetto Eclipse avevano lo scopo di creare un IDE, alcuni sviluppatori nella comunità hanno iniziato a riutilizzarle per tutte le altre applicazioni. È nata quindi l'idea di estrarre queste librerie software dal progetto Eclipse in modo sufficientemente generico da costituire un framework generico a sé stante.

Natura di Eclipse RCP

Eclipse RCP è quindi un framework orientato allo sviluppo di applicazioni 'rich client', ma privo delle funzionalità specifiche di un IDE (in particolare quelle di esecuzione e debugging del codice). Eclipse RCP è infatti una libreria software da cui è possibile sviluppare qualsiasi applicazione "rich client", anche al di fuori dell'ambito dei workshop di ingegneria del software . In altre parole, Eclipse RCP non è altro che un kit di sviluppo software (SDK) specializzato per lo sviluppo di applicazioni "rich client".

Un'applicazione sviluppata dal framework Eclipse RCP, sia che si tratti di un EDI Eclipse o meno, viene quindi qualificata come applicazione RCP Eclipse  :

Contenuto di RCP

Il framework Eclipse RCP è costituito dal seguente sottoinsieme di librerie:

Piattaforma Eclipse componente principale. Plugin Development Environment (PDE) per lo sviluppo di plugin compatibili con OSGi. Equinozio motore di esecuzione dei plugin. WindowBuilder componente per la creazione dell'interfaccia grafica wysiwyg . Strumenti di Business Intelligence e Reporting (BIRT) componente di reporting e business intelligence .

Progetti Eclipse

Funzionalità EDI

Questo elenco è solo un sottoinsieme degli ambienti che Eclipse offre per il download.
Progetto di primo livello Progetto Obiettivo Acronimo
Progetto Strumenti Progetto Java Development Tools Ambiente di sviluppo completo per il linguaggio Java JDT
Progetto Strumenti AJAX Toolkit Framework Strumenti per lo sviluppo di applicazioni AJAX ATF
Progetto Strumenti Aspetto J. Progetto che consente la programmazione orientata agli aspetti per Java in Eclipse
Progetto Strumenti Progetto strumenti di sviluppo C / C ++ Ambiente di sviluppo completo per linguaggi C e C ++ per Eclipse CDT
Progetto Strumenti COBOL IDE per il sottoprogetto Eclipse Ambiente di sviluppo completo per il linguaggio Cobol per Eclipse COBOL
Progetto Strumenti Piattaforma di strumenti paralleli Piattaforma integrata per lo sviluppo di applicazioni parallele PTP
Progetto Strumenti Framework per strumenti di sviluppo PHP Sviluppo di applicazioni web basate su PHP lato server. PDT
Progetto Web Tools Platform Strumenti per i servizi Web Strumenti per lo sviluppo di applicazioni web in Java WTP
? Progetto di sviluppo software per dispositivi Sviluppo di dispositivi software per sistemi embedded DSDP
? Piattaforma Rich Client incorporata Sviluppo ricco di client per sistemi embedded eRCP
Progetto Strumenti Framework di editing grafico Ambiente per lo sviluppo di visual grafici tramite MVC (*) GEF
Progetto Strumenti WindowBuilder Ambiente per lo sviluppo della grafica Java
Mylyn

(*) Questa infrastruttura è utilizzata anche per il funzionamento interno del GEF.

Orion

Altri progetti

Strumenti di modellazione
  • ATLAS Model Weaver (AMW)
  • MoDisco (in precedenza ATLAS Megamodel Manager )
  • Eclipse Modeling Framework (EMF) la parte del modello del modello di progettazione MVC (il framework offre una visualizzazione per rappresentare il modello denominato ecorediag che utilizza la visualizzazione di un diagramma delle classi UML). Il modello può essere reso persistente in diversi modi: XSL , file Java con annotazioni XDoclet , XMI ... poi la possibilità di aggiungere il suo sistema di persistenza. EMF gestisce la persistenza sotto forma di diversi file di risorse collegati.
  • Il Graphical Modeling Framework (GMF), che storicamente è venuto dopo GEF ed EMF, collega questi due framework. Sostituisce EclipseUML .
  • Tecnologia di modellazione generativa (GMT)
  • UML2 è un progetto per lo sviluppo di modelli UML 2.0 in Eclipse (UML2)
Altro
  • Eclipse Communication Framework (ECF)
  • Java Workflow Tooling (JWT) è un insieme di strumenti intesi a facilitare lo sviluppo e l'utilizzo dei flussi di lavoro.

L'elenco dei progetti è disponibile sul sito Web di Eclipse. È stato inoltre creato un sito Eclipse Marketplace per facilitare la ricerca, l'identificazione e l'installazione di plug-in per qualsiasi piattaforma Eclipse.

Linguaggi di programmazione supportati

Molte lingue sono supportate nel 2008 (la maggior parte grazie all'aggiunta di plugin), tra cui:

Internazionalizzazione e traduzione

Eclipse è disponibile in molte lingue tramite pacchetti:

  • NLpack1: tedesco, francese, italiano, giapponese, coreano, portoghese (Brasile), cinese tradizionale e semplificato;
  • NLpack2: ceco, ungherese, polacco e russo;
  • NLpack2a: danese, olandese, finlandese, greco, norvegese, portoghese, svedese e turco;
  • NLpackBidi: arabo ed ebraico.

Il progetto Babel permette di ottenere una traduzione dell'interfaccia utilizzando il servizio di aggiornamento Eclipse. Si presenta sotto forma di un plugin che supporta le traduzioni. Può essere aggiunto tramite la GUI. Devono essere fornite due informazioni:

  1. Il nome, ad esempio "traduzione (progetto Babel)";
  2. L'URL del plug-in, a seconda della versione di Eclipse in uso.

Storia del progetto

Il progetto Eclipse è stato avviato da IBM per sostituire, utilizzando Java , l'IDE Visual Age , allora basato su Smalltalk . Fin dall'inizio del progetto, IBM voleva offrire una soluzione multipiattaforma che potesse essere eseguita sui vari sistemi operativi dei suoi clienti. Allo stesso modo, il progetto doveva essere estensibile tramite plugin.

Nel novembre 2001 è stata fondata la Eclipse Foundation , su iniziativa di pesi massimi dell'IT come Borland , IBM o Red Hat . IBM quindi colloca la sua piattaforma Eclipse in open source e, alla fine del 2003, il consorzio è cresciuto fino a raggiungere più di 80 membri. Eclipse è quindi un ambiente di sviluppo gratuito.

Nome

Il nome Eclipse è stato uno dei motivi per cui Sun Microsystems ha rifiutato di aderire al progetto. Tuttavia, secondo Lee Nackman, chief technology officer di IBM Rational Software , era Microsoft Visual Studio , il principale concorrente, che il progetto voleva eclissare .

Versioni successive

Da giugno 2007, un piano di sviluppo Eclipse prevede una versione annuale a giugno e due versioni intermedie posizionate a settembre e febbraio.

Così, la versione 3.3 chiamata Europa è apparsa alla fine di giugno 2007. 310 sviluppatori in 19 paesi hanno scritto i 17 milioni di righe di codice che la compongono. Questa versione porta ufficialmente 21 progetti.

La versione 3.5 denominata Galileo, pubblicata nel giugno 2009, copriva 33 progetti interni che andavano dalla modellazione all'analisi delle prestazioni. Più di 380 membri provenienti da 44 diverse organizzazioni hanno contribuito allo sviluppo di questa versione che comprende 24 milioni di righe di codice. Sei versioni di test e valutazione, denominate Milestone , erano già state pubblicate, la prima nell'agosto 2008, la seconda nel settembre 2008, poi nel novembre 2008 e nel dicembre 2008 e infine l'ultima nel febbraio 2009 e poi nel marzo 2009.

La versione 3.6 , denominata Helios, rilasciata a giugno 2010, è disponibile in 12 pacchetti, a seconda degli utilizzi di sviluppo ( C / C ++ , JavaScript , PHP …). Si basa su 77 progetti. Le principali modifiche rilevate includono: un nuovo pacchetto adattato per lo sviluppo in C / C ++ ) nell'ambiente del sistema operativo Linux , nuova gestione dei plugin , supporto per Git , supporto per le ultime evoluzioni Java (inclusi Servlet 3.0, JPA 2.0, JSF 2.0, EJB 3.1), supporto JavaScript migliorato (impostando un framework per integrare debugger come Rhino o Firebug ), Eclipse Xtext 1.0, (ambiente per creare linguaggi specifici - linguaggi specifici del dominio , DSL -), una nuova versione di Acceleo 3.0 (OMG Model-to-text - MTL -).

La versione 3.7 , chiamata "Indigo", è stata rilasciata a metà del 2011 e le versioni 3.8 / 4.2 denominate Juno sono state rilasciate il 27 giugno 2012. Questa sarà l'ultima versione del ramo 3.

La versione 4.3 chiamata Kepler è stata rilasciata il 26 giugno 2013 ed è composta da 72 progetti e 42 sottoprogetti.

Questa versione porta alcune importanti nuove funzionalità:

  • Supporto per Java EE 7 Eclipse Web Tools (WTP);
  • Distribuzione di Orion nella versione 3.0 per strumenti di sviluppo web;
  • Nuova suite per la gestione dei processi aziendali Eclipse Stardust 1.0  ;
  • Nuovo supporto per BigData Eclipse Birt 4.3 che integra il supporto per i database MongoDB e Cassandra;
  • Migliore integrazione del processo di revisione del codice con Mylyn 3.9  ;
  • Integrazione Maven migliorata per lo sviluppo JavaEE.

I progressi di Eclipse possono essere visti in un video relativamente sintetico.


Qui vengono mostrate solo le revisioni principali di Eclipse
Nome in codice Datato Versione Commento
2020-12 16 dicembre 2020 4.18
2020-09 16 settembre 2020 4.17
2020-06 17 giugno 2020 4.16
2020-03 18 marzo 2020 4.15
2019-12 18 dicembre 2019 4.14
2019-09 18 settembre 2019 4.13
2019-06 19 giugno 2019 4.12
2019-03 20 marzo 2019 4.11
2018-12 19 dicembre 2018 4.10
2018-09 19 settembre 2018 4.9
Fotone 27 giugno 2018 4.8 85 progetti
Ossigeno 28 giugno 2017 4.7 83 progetti
Neon 22 giugno 2016 4.6 84 progetti
marzo 24 giugno 2015 4.5 79 progetti
Luna 25 giugno 2014 4.4 76 progetti
Kepler 27 giugno 2013 4.3 72 progetti
Juno 27 giugno 2012 4.2 71 progetti
23 febbraio 2012 4.1.2
20 giugno 2011 4.1
4.0
Indaco 22 giugno 2011 3.7 62 progetti
Helios 23 giugno 2010 3.6 77 progetti
Galileo 24 giugno 2009 3.5 33 progetti
Ganimede Febbraio 2009 3.4.2 23 progetti
Settembre 2008 3.4.1
25 giugno 2008 3.4
Europa 29 giugno 2007 3.3 21 progetti
Callisto Settembre 2006 3.2.1 10 progetti
30 giugno 2006 3.2
Eclipse 3.1 Gennaio 2006 3.1.2 10 progetti
Settembre 2005 3.1.1
Giugno 2005 3.1
Eclipse 3.0 Marzo 2005 3.0.2
Settembre 2004 3.0.1
28 giugno 2004 3.0
Eclipse v2 Marzo 2004 2.1.3
Novembre 2003 2.1.2
Luglio 2003 2.1.1
Aprile 2003 2.1
Novembre 2002 2.0.2
Settembre 2002 2.0.1
Luglio 2002 2.0
Eclipse v1 Novembre 2001 1.0

Estensioni

Eclipse supporta molte estensioni disponibili su Eclipse Marketplace, come PyDev  (in) per Python o jQuery per JavaScript .

Plugin di Google per Eclipse

Il plug-in di Google per Eclipse (chiamato GPE , dall'inglese Google Plugin for Eclipse ) è un'estensione Java di Eclipse che consente agli sviluppatori di progettare, creare, ottimizzare e distribuire applicazioni orientate al cloud computing .

Strumenti di sviluppo Android

Questa è un'estensione per lo sviluppo su Android con Android SDK.

Riferimenti

  1. "  https://projects.eclipse.org/projects/eclipse/releases/4.19.0  "
  2. Eclipse Rich Client Platform , eclipse.org.
  3. (en) http://pydev.org/ .
  4. Pacchetti di lingue: 3.2.1  " .
  5. Download del progetto Eclipse Babel  " .
  6. (a) Darryl K. Taft, "  Eclipse: Behind the Name  " , eWeek.com , Ziff Davis Enterprise Holdings,20 maggio 2005(visitato l'11 agosto 2008 ) .
  7. (in) Rilascio simultaneo  " , wiki.eclipse.org.
  8. Bertrand Braux, "The Eclipse 3.5 Galileo galaxy is available for download" , 01net.com, 26 giugno 2009.
  9. (in) Helios  " .
  10. (in) Annuncio .
  11. (in) Piano del progetto per la versione del progetto Eclipse Juno .
  12. (it) Eclipse Kepler .
  13. ( entra ) Code_swarm - Eclipse su Vimeo .
  14. (in) Download archiviati  " , archive.eclipse.org.
  15. (en) Rilascio simultaneo
  16. "  Plugin, pacchetti e prodotti Eclipse - Eclipse Marketplace  " , in Plugin, pacchetti e prodotti Eclipse - Eclipse Marketplace (accesso 17 agosto 2020 ) .
  17. (in) "  Strumenti per sviluppatori Android  " .

Appunti


Vedi anche

Articoli Correlati

link esterno