Eclipse (software)

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Eclipse
Eclipse 3.6 Helios.jpg
Captura de Eclipse 3.6
Desarrollador
Eclipse Foundation
www.eclipse.org
Información general
Última versión estable 4.3 (Kepler)[1]
26 de junio de 2013; hace 9 meses (2013-06-26)
Género IDE, Java SDK, C/C++
Programado en Java
Sistema operativo Multiplataforma
Licencia Licencia Publica de Eclipse[2]
En español Sí 

Eclipse es un programa informático 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). Sin embargo, también se puede usar para otros tipos de aplicaciones cliente, como BitTorrent o Azureus.

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:

Imágen de Eclipse arrancando
  • 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 metadato en un espacio para archivos plano, permitiendo modificaciones externas a los archivos en tanto se refresque el espacio de trabajo correspondiente.

Características[editar]

Eclipse dispone de un Editor de texto con resaltado de sintaxis. 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 del 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
Mars Junio de 2015  ? Mars projects
Luna 25 Junio 2014 (planeado) 4.4 Luna projects
Kepler 26 de junio de 2013 4.3 Kepler projects
Juno 27 de junio de 2012 4.2 Juno projects
Indigo 22 de junio de 2011 3.7 Indigo projects
Helios 23 junio de 2010 3.6 Helios projects
Galileo 24 de junio de 2009 3.5 Galileo projects
Ganymede 25 junio de 2008 3.4 Ganymede projects
Europa 29 de junio de 2007 3.3 Europa projects
Callisto 30 de junio de 2006 3.2 Callisto projects
Eclipse 3.1 28 de junio 2005 3.1
Eclipse 3.0 28 de junio de 2004 3.0

Radiografía[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 lenguajes 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, Hungaro, Inglés, Italiano, Japonés, Polaco, Portugués (Brasil) y Ruso.[7]

Véase también[editar]

Referencias[editar]

  1. eclipse.org Downloads (en Inglés)
  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
  5. vía Hibernate Tools
  6. SLOCCount
  7. eclipse.org Language Packs: 3.2

Enlaces externos[editar]