Translate
viernes, 13 de julio de 2012
¿Que es Eclipse?
viernes, 6 de julio de 2012
Un Poco de Historia
Si ha seguido de cerca la
programación en Java o el tema de Open Source, habrá oído hablar de Eclipse. Eclipse es un IDE (Integrated Development Environment) open source y
extensible. El proyecto se lanzó originalmente en
Noviembre de 2001, cuando IBM donó 40 millones de dolares del código fuente de
Websphere Studio Workbench y formó el Eclipse Consortium para controlar el desarrollo continuado
de la herramienta.
El objetivo de Eclipse era
"desarrollar una plataforma industrial robusta, con todas las
características y de calidad industrial para el desarrollo de herramientas altamente
integradas". Al final, el Eclipse
Consortium se había enfocado en tres proyectos principales:
1. The Eclipse Project es
responsable de desarrollar el workbench (banco de trabajo) del IDE
Eclipse (la "plataforma" que contiene las herramientas Eclipse), el
JDT (Java Development Tools), y el PDE (Plug-In Development Environment)
utilizado para ampliar la plataforma.
2. The Eclipse Tools Project se
enfoca en la creación de herramientas para la plataforma Eclipse. Entre los
subproyectos actuales se incluyen un IDE Cobol, un IDE C/C++, y una herramienta
de modelado EMF.
3. The Eclipse Technology Project se
enfoca en investigaciones tecnológicas, incubación y educación utilizando la
plataforma Eclipse.
La plataforma Eclipse, cuando se
combina con el JDT, ofrece muchas de las características que cabría esperar de
un IDE de calidad comercial: editor con síntaxis coloreada, compilación
incremental, un depurador que tiene en cuenta los threads a nivel fuente, un
nevegador de clases, un controlador de ficheros/proyectos, e interfaces para
control estándar de código fuente, como CVS y ClearCase.
Eclipse también incluye varias
características únicas, como la refactorización de código, la
actualización/instalación automática de código (mediante Update Manager), una
lista de tareas, soporte para unidades de test con JUnit,
e integración con la herramienta de construcción de Jakarta: Ant.
A pesar del gran número de
características estándar, Eclipse se diferencia de los IDEs tradicionales en
varias cosas fundamentales. Quizás lo más interesante de Eclipse es que
es completamente neutral
a la plataforma - y al lenguaje. Además de la mezcla ecléctica de lenguajes
soportados por el Eclipse Consortium (Java, C/C++, Cobol),
también hay otros proyectos para añadir a Eclipse el soporte de lenguajes tan
diversos como Python, Eiffel, PHP, Ruby, y C#.
Con respecto a las plataformas,
el Eclipse Consortium proporciona instalaciones binarias para
Windows, Linux, Solaris, HP-UX, AIX, QNX, y Mac OS X. La mayoría de cosas
interesantes que posee Eclipse se centran en la arquitectura de plug-ins y el
API proporcionado por el Plugin Development Environment para ampliarlo.
Añadir soporte para un nuevo tipo de editor, una vista, o un lenguaje de
programación, es remarcadamente fácil, con el API y los bloques de construcción
que proporciona Eclipse.
Con cientos de proyectos de
desarrollo de plug-ins en progreso, los gigantes de la industria como IBM, HP,
y Rational, proporcionan recursos, y diseños de peso pesado como Erich
Gamma helping para guiarnos en el proceso.
Características
1. Dispone de un editor de texto con
resaltado de sintaxis donde puedes ver el contenido del fichero en el que estás
trabajando.
2. Contiene una lista de tareas y otros
módulos similares.
3. La compilación es en tiempo real.
4. Tiene pruebas unitarias con JUnit.
5. Integración con Ant, asistentes
(wizards) para creación de proyectos, clases, tests, etc., y refactorización.
Ventajas en la utilización de Eclipse
1-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 rico,
a diferencia de otros entornos monolíticos donde las funcionalidades están
todas incluidas, las necesite el usuario o no.
2-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++ yPython,
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.
3-La
arquitectura plug-in 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 para soportar
otros Lenguajes de programación.
4-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".
En
cuanto a la utilización de eclipse para la creación de aplicaciones clientes se
puede decir que:
1-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 plug-in 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.
2-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.
3-El IDE también hace uso de un espacio de trabajo, en este caso un grupo de
metadata en un espacio para archivos plano, permitiendo modificaciones externas
a los archivos en tanto se refresque el espacio de trabajo correspondiente.
Requerimientos e Idiomas para usar Eclipse
El
único requisito necesario para usar Eclipse, es tener instalado el paquete JRE
(Java Runtime Enviroment). Sin embargo, como Eclipse es una herramienta para
desarrolladores, se recomienda descargar el paquete JDK (Java Develpment Kit),
que también incluye JRE.
Idiomas
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).
Ruso.
Licencia y Costes
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.
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. 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.
Suscribirse a:
Entradas (Atom)