Eclipse (proyecto)

Eclipse Descripción de la imagen de Eclipse 4.12 screenshot.png. Información
Creador Object Technology International ( en )
Desarrollado por Fundación Eclipse
Primera versión 7 de noviembre de 2001
Última versión 4,19 (17 de marzo de 2021)
Depositar git.eclipse.org/c
Escrito en Java
Interfaz Kit de herramientas de widgets estándar
Sistema de explotación GNU / Linux , macOS , Microsoft Windows y Solaris
Medio ambiente Máquina virtual de Java
Idiomas Plurilingüe
Tipo Entorno de desarrollo integrado
Licencia Licencia Eclipse
Documentación www.eclipse.org/contribute
Sitio web www.eclipse.org

Cronología de versiones

Eclipse es un proyecto, declinado y organizado en un conjunto de subproyectos de desarrollo de software, de la fundación Eclipse que tiene como objetivo desarrollar un entorno de producción de software libre , extensible, universal y versátil, apoyado principalmente en Java .

Su objetivo es producir y proporcionar herramientas para la realización de software, abarcando actividades de programación (en particular entornos y frameworks de desarrollo integrados ) pero también AGL cubriendo modelado , diseño , testing , gestión de configuración , reporting ... Su EDI , parte integral del proyecto, tiene como objetivo en particular admitir cualquier lenguaje de programación como Microsoft Visual Studio .

Aunque Eclipse se diseñó inicialmente únicamente para producir entornos de desarrollo, los usuarios y colaboradores rápidamente comenzaron a reutilizar sus bloques de software para aplicaciones cliente clásicas. Esto llevó a una extensión del alcance inicial de Eclipse a toda la producción de software: es la aparición del marco Eclipse RCP en 2004.

Una de las grandes historias de éxito del código abierto , Eclipse se ha convertido en un estándar en el mercado de software de desarrollo, integrado por los principales proveedores de software y empresas de servicios . El software comercial Lotus Notes 8 , IBM Lotus Symphony o WebSphere Studio Application Developer se basan principalmente en Eclipse.

Arquitectura Eclipse

El metaproyecto Eclipse se compone y organiza en una galaxia de proyectos de software. Su especificidad radica en su arquitectura totalmente desarrollada en torno a la noción de complemento de acuerdo con el estándar OSGi  : todas las funcionalidades del taller de software deben desarrollarse como complemento construido alrededor de la Plataforma Eclipse .

Eclipse ofrece un marco de desarrollo de software que proporciona bloques de software para desarrollar estas herramientas. De hecho Eclipse se considera tanto como un IDE , un framework o una plataforma , dependiendo de si consideramos el proyecto, sus componentes, los IDE resultantes de su ensamblaje:

De hecho, el proyecto Eclipse también ofrece "  paquetes  " para descargar: pueden ser:

Eclipse RCP no se trata como un subproyecto de Eclipse, ni como un paquete, sino que se presenta como una plataforma.

Proyectos de primer nivel

Los principales proyectos y subproyectos de Eclipse organizados por familia

Eclipse se organiza en 2011 en once proyectos de primer nivel , pudiendo cada uno de estos proyectos contener varios subproyectos:

Proyecto Eclipse proyecto de fundación que incluye en particular la plataforma Eclipse y el JDT Herramientas de generación de informes e inteligencia empresarial (BIRT) dedicado a la generación de informes y la inteligencia empresarial Proyecto de plataforma de herramientas de datos (DTP) proyecto de visualización y manipulación de bases de datos relacionales Proyecto de modelado de Eclipse dedicado al modelado ( UML , EMF ...) Tiempo de ejecución (RT) anteriormente Device Software Development Platform (DSDP), herramientas de desarrollo para sistemas integrados Proyecto de plataforma de herramientas SOA (STP) dedicado a arquitecturas orientadas a servicios Proyecto de herramientas reúne herramientas más específicamente dedicadas a ciertos lenguajes de desarrollo Proyecto de plataforma de herramientas de prueba y rendimiento (TPTP) dedicado a las pruebas y la calificación de software Proyecto de plataforma de herramientas web Eclipse (WTP) dedicado a herramientas de desarrollo para tecnologías web Proyecto Tecnológico varios proyectos aún en estado de espera o de incubación Mylyn gestión de tareas, el último proyecto apareció en Eclipse, en 2006 (v3.2)

Núcleo del proyecto Eclipse

Eclipse Project es el proyecto fundacional alrededor del cual se agrupan los otros componentes de Eclipse; en 2012 incluye los subproyectos:

Plataforma define los componentes comunes básicos de todo el modelo de desarrollo de Eclipse. Entorno de desarrollo de complementos (PDE) reúne los complementos de Eclipse para desarrollar y probar otros complementos de Eclipse, de acuerdo con OSGi en el que se basa la filosofía de Eclipse. Por lo tanto, PDE hace posible crear complementos de Eclipse como paquetes OSGi y luego, mediante ensamblaje, aplicaciones RCP completas. Herramientas de desarrollo de Java (JDT) agrupa los complementos que cubren las funcionalidades habituales específicas de los entornos de desarrollo, como la ejecución de código con depuración . Plataforma Eclipse

El IDE de la plataforma Eclipse está escrito principalmente en Java (utilizando la biblioteca de gráficos SWT , de IBM ); este lenguaje, gracias a librerías específicas, también se utiliza para escribir extensiones.

La base del entorno de desarrollo integrado que constituye el IDE de la plataforma Eclipse se compone de:

Tiempo de ejecución de la plataforma iniciar la plataforma y administrar complementos SWT la biblioteca de gráficos IDE básica JFace una biblioteca de gráficos de nivel superior basada en SWT Banco de trabajo Eclipse la capa de gráficos final para organizar y manipular componentes, como vistas, editores y perspectivas.

Todos estos componentes básicos se pueden reutilizar para desarrollar clientes pesados ​​independientes de Eclipse gracias al paquete Eclipse RCP ( Rich Client Platform ).

Eclipse RCP

Presentado como una plataforma dentro de Eclipse, Eclipse RCP constituye una base de desarrollo para clientes ricos .

Histórico

Aunque originalmente las bibliotecas de software desarrolladas en el proyecto Eclipse estaban destinadas a crear un IDE, algunos desarrolladores de la comunidad han comenzado a reutilizarlas para todas las demás aplicaciones. Entonces nació la idea de extraer estas bibliotecas de software del proyecto Eclipse de una manera suficientemente genérica para constituir un marco genérico por derecho propio.

Naturaleza de Eclipse RCP

Eclipse RCP es, por tanto, un framework orientado al desarrollo de aplicaciones 'rich client', pero sin las funcionalidades propias de un IDE (en particular las de ejecución y depuración de código). Eclipse RCP es, de hecho, una biblioteca de software a partir de la cual se puede desarrollar cualquier aplicación de "cliente enriquecido", incluso fuera del alcance de los talleres de ingeniería de software . En otras palabras, Eclipse RCP no es más que un kit de desarrollo de software especializado (SDK) para desarrollar aplicaciones de 'cliente enriquecido'.

Una aplicación desarrollada a partir del marco Eclipse RCP, ya sea a partir de un EDI de Eclipse o no, se califica como una aplicación RCP Eclipse  :

Contenido de RCP

El marco de trabajo de Eclipse RCP consta del siguiente subconjunto de bibliotecas:

Plataforma Eclipse componente central. Entorno de desarrollo de complementos (PDE) para el desarrollo de complementos compatibles con OSGi. Equinoccio motor de ejecución de complementos. WindowBuilder Componente de creación de interfaz gráfica wysiwyg . Herramientas de generación de informes e inteligencia empresarial (BIRT) componente de informes e inteligencia empresarial .

Proyectos Eclipse

Funciones EDI

Esta lista es solo un subconjunto de los entornos que Eclipse ofrece para descargar.
Proyecto de nivel superior Proyecto Objetivo Acrónimo
Proyecto de herramientas Proyecto de herramientas de desarrollo Java Entorno de desarrollo completo para el lenguaje Java JDT
Proyecto de herramientas Marco del kit de herramientas AJAX Herramientas para el desarrollo de aplicaciones AJAX ATF
Proyecto de herramientas AparienciaJ Proyecto que habilita la programación orientada a aspectos para Java en Eclipse
Proyecto de herramientas Proyecto de herramientas de desarrollo C / C ++ Entorno de desarrollo completo para lenguajes C y C ++ para Eclipse CDT
Proyecto de herramientas IDE de COBOL para el subproyecto Eclipse Entorno de desarrollo completo para el lenguaje Cobol para Eclipse COBOL
Proyecto de herramientas Plataforma de herramientas paralelas Plataforma integrada para el desarrollo de aplicaciones paralelas PTP
Proyecto de herramientas Marco de herramientas de desarrollo PHP Desarrollo de aplicación web basada en PHP en el lado del servidor. PDT
Proyecto de plataforma de herramientas web Herramientas de servicios web Herramientas para el desarrollo de aplicaciones web en Java WTP
? Proyecto de desarrollo de software de dispositivos Desarrollo de dispositivos de software para sistemas embebidos DSDP
? Plataforma de cliente enriquecido incorporada Desarrollo de cliente enriquecido para sistema integrado eRCP
Proyecto de herramientas Marco de edición gráfica Entorno para el desarrollo de visuales gráficos a través del MVC (*) FMAM
Proyecto de herramientas WindowBuilder Entorno para el desarrollo de gráficos Java
Mylyn

(*) Esta infraestructura también se utiliza para el funcionamiento interno del GEF.

Orión

Otros proyectos

Herramientas de modelado
  • Modelo ATLAS Weaver (AMW)
  • MoDisco (anteriormente ATLAS Megamodel Manager )
  • Eclipse Modeling Framework (EMF) la parte del modelo del patrón de diseño MVC (el marco ofrece una imagen para representar el modelo llamado ecorediag que usa la imagen de un diagrama de clases UML). El modelo se puede persistir de diferentes formas: XSL , archivos Java con anotaciones XDoclet , XMI … luego la posibilidad de agregar su sistema de persistencia. EMF gestiona la persistencia en forma de varios archivos de recursos vinculados.
  • El Marco de Modelado Gráfico (GMF), que históricamente vino después de GEF y EMF, vincula estos dos marcos. Reemplaza a EclipseUML .
  • Tecnología de modelado generativo (GMT)
  • UML2 es un proyecto para desarrollar modelos UML 2.0 en Eclipse (UML2)
Otro
  • Marco de comunicación de Eclipse (ECF)
  • Java Workflow Tooling (JWT) es un conjunto de herramientas destinadas a facilitar el desarrollo y uso de flujos de trabajo.

La lista de proyectos está disponible en el sitio web de Eclipse. También se ha configurado un sitio de Eclipse Marketplace para facilitar la búsqueda, identificación e instalación de complementos para cualquier plataforma Eclipse.

Lenguajes de programación compatibles

En 2008 se admiten muchos idiomas (la mayoría gracias a la incorporación de complementos), entre los que se encuentran:

Internacionalización y traducción

Eclipse está disponible en muchos idiomas a través de paquetes:

  • NLpack1: alemán, francés, italiano, japonés, coreano, portugués (Brasil), chino tradicional y simplificado;
  • NLpack2: checo, húngaro, polaco y ruso;
  • NLpack2a: danés, holandés, finlandés, griego, noruego, portugués, sueco y turco;
  • NLpackBidi: árabe y hebreo.

El proyecto Babel permite obtener una traducción de la interfaz utilizando el servicio de actualización de Eclipse. Viene en forma de un complemento que admite traducciones. Se puede agregar a través de la GUI. Se deben proporcionar dos datos:

  1. El nombre, por ejemplo "traducción (proyecto Babel)";
  2. La URL del complemento, según la versión de Eclipse en uso.

Historia del proyecto

El proyecto Eclipse fue iniciado por IBM para reemplazar, usando Java , el IDE de Visual Age , entonces basado en Smalltalk . Desde el inicio del proyecto, IBM quería ofrecer una solución multiplataforma que pudiera ejecutarse en los distintos sistemas operativos de sus clientes. Asimismo, se pretendía que el proyecto fuera extensible a través de complementos.

En noviembre de 2001, se inició la Fundación Eclipse , a instancias de pesos pesados ​​de TI como Borland , IBM o Red Hat . IBM luego coloca su plataforma Eclipse en código abierto y, a fines de 2003, el consorcio creció a más de 80 miembros. Eclipse es, por tanto, un entorno de desarrollo libre.

apellido

El nombre Eclipse fue una de las razones por las que Sun Microsystems se negó a unirse al proyecto. Sin embargo, según Lee Nackman, director de tecnología de IBM Rational Software , era Microsoft Visual Studio , el principal competidor, al que el proyecto quería eclipsar .

Versiones sucesivas

Desde junio de 2007, un plan de desarrollo de Eclipse prevé una versión anual en junio, y dos versiones intermedias posicionadas en septiembre y febrero.

Así, la versión 3.3 llamada Europa apareció a finales de junio de 2007. 310 desarrolladores de 19 países escribieron los 17 millones de líneas de código que la componen. Esta versión lleva oficialmente 21 proyectos.

La versión 3.5 llamada Galileo, publicada en junio de 2009, cubría 33 proyectos internos que iban desde el modelado hasta el análisis del rendimiento. Más de 380 miembros de 44 organizaciones diferentes contribuyeron al desarrollo de esta versión que comprende 24 millones de líneas de código. Ya se habían publicado seis versiones de prueba y evaluación, llamadas Milestone , la primera en agosto de 2008, la segunda en septiembre de 2008, luego en noviembre de 2008 y diciembre de 2008 y finalmente la última en febrero de 2009 y luego en marzo de 2009.

La versión 3.6 , denominada Helios, lanzada en junio de 2010, está disponible en 12 paquetes, según usos de desarrollo ( C / C ++ , JavaScript , PHP …). Se basa en 77 proyectos. Los principales cambios observados incluyen: un nuevo paquete adaptado para el desarrollo en C / C ++ ) en el entorno del sistema operativo Linux , nueva gestión de complementos , soporte para Git , soporte para las últimas evoluciones de Java (incluyendo Servlet 3.0, JPA 2.0, JSF 2.0, EJB 3.1), soporte JavaScript mejorado (mediante la configuración de un marco para integrar depuradores como Rhino o Firebug ), Eclipse Xtext 1.0, (entorno para crear lenguajes específicos - lenguajes específicos de dominio , DSL -), una nueva versión de Acceleo 3.0 ( Modelo a texto OMG - MTL -).

La versión 3.7 , llamada "Indigo" se lanzó a mediados de 2011, y las versiones 3.8 / 4.2 llamadas Juno se lanzaron el 27 de junio de 2012. Esta será la última versión de la rama 3.

La versión 4.3 llamada Kepler fue lanzada el 26 de junio de 2013 y está compuesta por 72 proyectos y 42 subproyectos.

Esta versión trae algunas características nuevas importantes:

  • Soporte para Java EE 7 Eclipse Web Tools (WTP);
  • Implementación de Orion en la versión 3.0 para herramientas de desarrollo web;
  • Nueva suite para la gestión de procesos empresariales Eclipse Stardust 1.0  ;
  • Nuevo soporte para BigData Eclipse Birt 4.3 integrando soporte para bases de datos MongoDB y Cassandra;
  • Integración mejorada del proceso de revisión de código con Mylyn 3.9  ;
  • Integración mejorada de Maven para el desarrollo de JavaEE.

El progreso de Eclipse se puede ver en un video relativamente sintético.


Aquí solo se muestran las revisiones importantes de Eclipse
Nombre clave Con fecha de Versión Comentario
2020-12 16 de diciembre de 2020 4.18
2020-09 16 de septiembre de 2020 4.17
2020-06 17 de junio de 2020 4.16
2020-03 18 de marzo de 2020 4.15
2019-12 18 de diciembre de 2019 4.14
2019-09 18 de septiembre de 2019 4.13
2019-06 19 de junio de 2019 4.12
2019-03 20 de marzo de 2019 4.11
2018-12 19 de diciembre de 2018 4.10
2018-09 19 de septiembre de 2018 4.9
Fotón 27 de junio de 2018 4.8 85 proyectos
Oxígeno 28 de junio de 2017 4,7 83 proyectos
Neón 22 de junio de 2016 4.6 84 proyectos
marzo 24 de junio de 2015 4.5 79 proyectos
Luna 25 de junio de 2014 4.4 76 proyectos
Kepler 27 de junio de 2013 4.3 72 proyectos
Juno 27 de junio de 2012 4.2 71 proyectos
23 de febrero de 2012 4.1.2
20 de junio de 2011 4.1
4.0
Índigo 22 de junio de 2011 3,7 62 proyectos
Helios 23 de junio de 2010 3.6 77 proyectos
Galileo 24 de junio de 2009 3,5 33 proyectos
Ganimedes Febrero de 2009 3.4.2 23 proyectos
Septiembre de 2008 3.4.1
25 de junio de 2008 3.4
Europa 29 de junio de 2007 3.3 21 proyectos
Calisto Septiembre de 2006 3.2.1 10 proyectos
30 de junio de 2006 3.2
Eclipse 3.1 Enero de 2006 3.1.2 10 proyectos
Septiembre de 2005 3.1.1
Junio ​​de 2005 3.1
Eclipse 3.0 Marzo de 2005 3.0.2
Septiembre de 2004 3.0.1
28 de junio de 2004 3,0
Eclipse v2 Marzo de 2004 2.1.3
Noviembre de 2003 2.1.2
Julio de 2003 2.1.1
Abril de 2003 2.1
Noviembre de 2002 2.0.2
Septiembre de 2002 2.0.1
Julio de 2002 2.0
Eclipse v1 Noviembre de 2001 1.0

Extensiones

Eclipse admite muchas extensiones disponibles en Eclipse Marketplace, como PyDev  (in) para Python o jQuery para JavaScript .

Complemento de Google para Eclipse

Google Plugin para Eclipse (llamado GPE , del inglés Google Plugin para Eclipse ) es una extensión Java de Eclipse que permite a los desarrolladores diseñar, construir, optimizar e implementar aplicaciones orientadas a la computación en la nube .

Herramientas de desarrollo de Android

Esta es una extensión para el desarrollo en Android con el SDK de Android.

Referencias

  1. "  https://projects.eclipse.org/projects/eclipse/releases/4.19.0  "
  2. Eclipse Rich Client Platform , eclipse.org.
  3. (en) http://pydev.org/ .
  4. “  Paquetes de idioma: 3.2.1  ” .
  5. “  Descargas del proyecto Eclipse Babel  ” .
  6. (en) Darryl K. Taft, "  Eclipse: Detrás del nombre  " , eWeek.com , Ziff Davis Enterprise Holdings,20 de mayo de 2005(consultado el 11 de agosto de 2008 ) .
  7. (in) Lanzamiento simultáneo  " , wiki.eclipse.org.
  8. Bertrand Braux, "The Eclipse 3.5 Galileo galaxy is available for download" , 01net.com, 26 de junio de 2009.
  9. (en) Helios  " .
  10. (in) Anuncio .
  11. (in) Plan de proyecto para la versión Juno del proyecto Eclipse .
  12. (en) Eclipse Kepler .
  13. (en) Code_swarm - Eclipse en Vimeo .
  14. (en) Descargas archivadas  " , archive.eclipse.org.
  15. (en) Lanzamiento simultáneo
  16. "  Complementos, paquetes y productos de Eclipse - Eclipse Marketplace  " , en Complementos, paquetes y productos de Eclipse - Eclipse Marketplace (consultado el 17 de agosto de 2020 ) .
  17. (en) "  Herramientas de desarrollo de Android  " .

Notas


Ver también

Artículos relacionados

enlaces externos