Eclipse (software)

De Wikipedia, la enciclopedia libre
Eclipse

Pantalla inicial de Eclipse 4.9
Información general
Tipo de programa entorno de desarrollo integrado
Autor Object Technology International
Desarrollador Eclipse Foundation
Lanzamiento inicial 7 de noviembre de 2001
Licencia Licencia Publica de Eclipse[2]
Información técnica
Programado en Java
Plataformas admitidas máquina virtual Java
Interfaz gráfica predeterminada SWT
Versiones
Última versión estable 2023-09 (4.29)[1]​ (info) ( 12 de septiembre de 2023 (7 meses y 5 días))
Lanzamientos
Visual Age
Eclipse
Archivos legibles
  • Eclipse Plugin list
  • Eclipse CDT Project settings
  • Eclipse 4 Application Model Info
  • Eclipse Preferences (with rem)
  • Eclipse Project settings
  • Eclipse Preferences
Enlaces

Eclipse es una plataforma de software compuesto por un conjunto de herramientas de programación de código abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. Esta plataforma, típicamente ha sido usada para desarrollar entornos de desarrollo integrados (del inglés IDE), como el IDE de Java llamado Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y que son usados también para desarrollar el mismo Eclipse).

Eclipse es también una comunidad de usuarios, extendiendo constantemente las áreas de aplicación cubiertas. Un ejemplo es el recientemente creado Eclipse Modeling Project, cubriendo casi todas las áreas de Model Driven Engineering.

Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas para VisualAge. Eclipse es ahora desarrollado por la Fundación Eclipse, una organización independiente sin ánimo de lucro que fomenta una comunidad de código abierto y un conjunto de productos complementarios, capacidades y servicios.

Eclipse fue liberado originalmente bajo la Common Public License, pero después fue re-licenciado bajo la Eclipse Public License. La Free Software Foundation ha dicho que ambas licencias son licencias de software libre, pero son incompatibles con Licencia pública general de GNU (GNU GPL).[3]

Arquitectura[editar]

La base para Eclipse es la Plataforma de cliente enriquecido (del inglés Rich Client Platform RCP). Los siguientes componentes constituyen la plataforma de cliente enriquecido:

Pantalla de carga de Eclipse Neon
  • Plataforma principal - inicio de Eclipse, ejecución de plugins
  • OSGi - una plataforma para bundling estándar.
  • El Standard Widget Toolkit (SWT) - Un widget toolkit portable.
  • JFace - manejo de archivos, manejo de texto, editores de texto
  • El Workbench de Eclipse - vistas, editores, perspectivas, asistentes

Los widgets de Eclipse están implementados por una herramienta de widget para Java llamada Standard Widget Toolkit, a diferencia de la mayoría de las aplicaciones Java, que usan las opciones estándar Abstract Window Toolkit (AWT) o Swing. La interfaz de usuario de Eclipse también tiene una capa GUI intermedia llamada JFace, la cual simplifica la construcción de aplicaciones basadas en SWT.

El entorno de desarrollo integrado (IDE) de Eclipse emplea módulos (en inglés plug-in) para proporcionar toda su funcionalidad al frente de la plataforma de cliente enriquecido, a diferencia de otros entornos monolíticos donde las funcionalidades están todas incluidas, las necesite el usuario o no. Este mecanismo de módulos es una plataforma ligera para componentes de software. Adicionalmente a permitirle a Eclipse extenderse usando otros lenguajes de programación como son C/C++ y Python, permite a Eclipse trabajar con lenguajes para procesado de texto como LaTeX, aplicaciones en red como Telnet y Sistema de gestión de base de datos. La arquitectura plugin permite escribir cualquier extensión deseada en el ambiente, como sería Gestión de la configuración. Se provee soporte para Java y CVS en el SDK de Eclipse. Y no tiene por qué ser usado únicamente con estos lenguajes, ya que soporta otros lenguajes de programación.

La definición que da el proyecto Eclipse acerca de su software es: "una especie de herramienta universal - un IDE abierto y extensible para todo y nada en particular".

Imagen de Eclipse trabajando con el lenguaje de programación Python

En cuanto a las aplicaciones clientes, Eclipse provee al programador con frameworks muy ricos para el desarrollo de aplicaciones gráficas, definición y manipulación de modelos de software, aplicaciones web, etc. Por ejemplo, GEF (Graphic Editing Framework - Framework para la edición gráfica) es un plugin de Eclipse para el desarrollo de editores visuales que pueden ir desde procesadores de texto wysiwyg hasta editores de diagramas UML, interfaces gráficas para el usuario (GUI), etc. Dado que los editores realizados con GEF "viven" dentro de Eclipse, además de poder ser usados conjuntamente con otros plugins, hacen uso de su interfaz gráfica personalizable y profesional.

El SDK de Eclipse incluye las herramientas de desarrollo de Java, ofreciendo un IDE con un compilador de Java interno y un modelo completo de los archivos fuente de Java. Esto permite técnicas avanzadas de refactorización y análisis de código. Mediante diversos plugins estas herramientas están también disponibles para otros lenguajes como C/C++ (Eclipse CDT) y en la medida de lo posible para lenguajes de script no tipados como PHP o Javascript. El IDE también hace uso de un espacio de trabajo, en este caso un grupo de metadatos en un espacio para archivos planos, permitiendo modificaciones externas a los archivos en tanto

Características[editar]

Eclipse dispone de un Editor de texto con un analizador sintáctico. La compilación es en tiempo real. Tiene pruebas unitarias con JUnit, control de versiones con CVS, integración con Ant, asistentes (wizards) para creación de proyectos, clases, tests, etc., y refactorización.

Asimismo, a través de "plugins" libremente disponibles es posible añadir control de versiones con Subversion.[4]​ e integración con Hibernate.[5]

Historia[editar]

Eclipse comenzó como un proyecto de IBM Canadá. Fue desarrollado por OTI (Object Technology International) como reemplazo de VisualAge también desarrollado por OTI. En noviembre de 2001, se formó un consorcio para el desarrollo futuro de Eclipse como código abierto. En 2003, fue creada la fundación independiente de IBM.

Resumen de las versiones de Eclipse:

Versión Fecha de lanzamiento Versión de plataforma Proyectos
Eclipse 3.0 28 de junio de 2004 3.0
Eclipse 3.1 28 de junio de 2005 3.1
Callisto 30 de junio de 2006 3.2 Callisto projects
Europa 29 de junio de 2007 3.3 Europa projects
Ganymede 25 de junio de 2008 3.4 Ganymede projects
Galileo 24 de junio de 2009 3.5 Galileo projects
Helios 23 de junio de 2010 3.6 Helios projects
Indigo 22 de junio de 2011 3.7 Indigo projects
Juno 27 de junio de 2012 4.2 Juno projects
Kepler 26 de junio de 2013 4.3 Kepler projects
Luna 25 de junio de 2014 4.4 Luna projects
Mars 24 de junio de 2015 4.5 Mars projects
Neon 22 de junio de 2016 4.6 Neon projects
Oxygen 28 de junio de 2017 4.7 Oxygen projects
Photon 27 de junio de 2018 4.8 Photon projects
Foundation 24 de junio de 2019 4.9 Foundation projects

Datos[editar]

Los datos y cifras relacionados con Eclipse, mostrados a continuación, permitirán profundizar un poco más en el producto.

Como puede verse en la tabla siguiente, la versión 3.2.1 posee más de 2 millones de líneas de código (para el proyecto Eclipse). Estos datos son de acuerdo a SLOCCount.[6]​ Utilizando esta cifra y aplicando el modelo COCOMO, podemos ver que requeriría un esfuerzo para producir un software de este tamaño de 604 persona-año (para ello se ha utilizado la fórmula 2.4*(KSLOC ** 1.05)).

Para tener un estimado de los costes se toma en consideración el salario de 56.286 $/año, que es el salario promedio de un programador en los Estados Unidos, y luego se multiplica ese resultado por 2,40, que incluye cualquier gasto extra diferente de los programadores como pueden ser luz, teléfono, papelería, etc.

Estado actual de Eclipse
Líneas de código fuente 2.063.083
Esfuerzo estimado de desarrollo
(persona-año / persona-mes)
604,33 / 7.251,93
Estimación de tiempo (años-meses) 6,11 / 73,27
Estimación del n.º de desarrolladores en paralelo 98,98
Estimación de coste $ 81.636.459

Un punto muy importante a notar son los diversos lenguajes de programación utilizados en el desarrollo del proyecto. De acuerdo al análisis realizado usando SLOCCount, el lenguaje más utilizado es Java, seguido de ANSI C.

Lenguajes de programación utilizados en Eclipse 3.2.1
Lenguaje Líneas de código %
Java 1.911.693 92,66%
ANSI C 133.263 6,46%
C++ 10.082 0,49%
JSP 3.613 0,18%
sh 2.066 0,10%
perl 1.468 0,07%
php 896 0,04%
sed 2 0,00%

Idiomas[editar]

En julio de 2008, los siguientes paquetes de lenguas están disponibles para Eclipse 3.2.x (En orden alfabético): Alemán, Árabe, Checo, Chino Simplificado, Chino tradicional, Coreano, Español, Francés, Húngaro, Inglés, Italiano, Japonés, Polaco, Portugués (Brasil) y Ruso.[7]

Consultado en 2018: traducido total o parcialmente a más de 40 idiomas. Puede consultarse la lista de idiomas en: http://babel.eclipse.org/babel/languages.php

Véase también[editar]

Referencias[editar]

  1. https://eclipseide.org/release/noteworthy/
  2. Eclipse Public License (en inglés)
  3. gnu.org Various Licenses and Comments about Them Ver sección Eclipse Public License Version 1.0 (en inglés).
  4. vía Subclipse Archivado el 25 de agosto de 2011 en Wayback Machine.
  5. vía Hibernate Tools
  6. SLOCCount
  7. eclipse.org Language Packs: 3.2

Enlaces externos[editar]