Sie sind auf Seite 1von 18

Ao del Centenario de Machu Picchu para el Mundo

Facultad De Ingenieras Y Arquitectura


ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS E INFORMTICA

Teora de Lenguajes Docente: Caldern Vargas, Luis Ciclo: IV Tema: Eclipse IDE
Agero Guilln, Betty Bautista Quispe, Jaqueli Espino Medina, Joselyn Gonzales Pantigoso, Cecilia Linares Portugal, Jesus Noelia Nieto Ayala, Leticia Pea Aguado, Mirtha

Integrantes:

ICA- PER 2011

Universidad Alas Peruanas Filial Ica

Eclipse IDE
1.-Definicin
Eclipse es un entorno de desarrollo integrado de cdigo abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. Esta plataforma, tpicamente ha sido usada para desarrollar entornos de desarrollo integrados (del ingls 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 tambin para desarrollar el mismo Eclipse). Sin embargo, tambin se puede usar para otros tipos de aplicaciones cliente, como BitTorrent o Azureus. Eclipse es tambin una comunidad de usuarios, extendiendo constantemente las reas de aplicacin 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 Fundacin Eclipse, una organizacin independiente sin nimo de lucro que fomenta una comunidad de cdigo abierto y un conjunto de productos complementarios, capacidades y servicios. Eclipse fue liberado originalmente bajo la Common Public License, pero despus fue relicenciado bajo la Eclipse Public License. La Free Software Foundation ha dicho que ambas licencias son licencias de software libre, pero son incompatibles con Licencia pblica general de GNU (GNU GPL).

Eclipse IDE

Pgina 1

Universidad Alas Peruanas Filial Ica


La Plataforma Eclipse es una herramienta para todo, y para nada en particular. Eclipse es, en el fondo, nicamente un armazn (workbench) sobre el que se pueden montar herramientas de desarrollo para cualquier lenguaje, mediante la implementacin de los plugins adecuados. La arquitectura de plugins de Eclipse permite, dems de integrar diversos lenguajes sobre un mismo IDE, introducir otras aplicaciones accesorias que pueden resultar tiles durante el proceso de desarrollo como: herramientas UML, editores visuales de interfaces, ayuda en lnea para libreras, etc. La Figura 1 muestra cmo es el interfaz grfico y los componentes genricos que tenemos a nuestra disposicin.

La vista de navegacin (navigator) muestra los archivos sobre los que estamos trabajando; el editor de texto muestra el contenido de un archivo; la vista de tareas (tasks) muestra la lista de tareas pendientes as como los errores; la visita de esquema (outline) muestra la estructura del archivo que estamos editando. A pesar de que la funcionalidad de Eclipse es mucha, gran parte de la funcionalidad es muy genrica. Permite que nuevos componentes puedan utilizar nuevos tipos de contenido, para realizar nuevas tareas con contenidos existentes. La Plataforma Eclipse permite descubrir, e invocar funcionalidad implementada en componentes llamados plug- ins.
Eclipse IDE Pgina 2

Universidad Alas Peruanas Filial Ica


Un fabricante proporciona una herramienta independiente como un plug-in que permite llevar a cabo una determinada actividad. Cuando la Plataforma se inicializa, se le mostrarn al usuario adems del entorno de Eclipse todos los plug-ins que tengamos instalados en el entorno. La calidad de la experiencia del usuario depende de cmo se integren los diferentes plugins con la Plataforma y cmo aqullos puedan comunicarse entre s. 2.-Arquitectura La base para Eclipse es la Plataforma de cliente enriquecido (del Ingls Rich Client Platform RCP). Los siguientes componentes constituyen la plataforma de cliente enriquecido:

Plataforma principal - inicio de Eclipse, ejecucin de plugins OSGi - una plataforma para bundling estndar. 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 estn implementados por una herramienta de widget para Java llamada SWT, a diferencia de la mayora de las aplicaciones Java, que usan las opciones estndar Abstract Window Toolkit (AWT) o Swing. La interfaz de usuario de Eclipse tambin tiene una capa GUI intermedia llamada JFace, la cual simplifica la construccin de aplicaciones basadas en SWT.
Eclipse IDE Pgina 3

Universidad Alas Peruanas Filial Ica


El entorno de desarrollo integrado (IDE) de Eclipse emplea mdulos (en ingls plug-in) para proporcionar toda su funcionalidad al frente de la plataforma de cliente enriquecido, a diferencia de otros entornos monolticos donde las funcionalidades estn todas incluidas, las necesite el usuario o no. Este mecanismo de mdulos es una plataforma ligera para componentes de software. Adicionalmente a permitirle a Eclipse extenderse usando otros lenguajes de programacin 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 gestin de base de datos. La arquitectura plugin permite escribir cualquier extensin deseada en el ambiente, como sera Gestin de la configuracin. 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 programacin. La definicin 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 programacin Python En cuanto a las aplicaciones clientes, eclipse provee al programador con frameworks muy ricos para el desarrollo de aplicaciones grficas, definicin y manipulacin de modelos de software, aplicaciones web, etc. Por ejemplo, GEF (Graphic Editing Framework Framework para la edicin grfica) 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 grficas para el usuario (GUI), etc. Dado que los editores realizados con

Eclipse IDE

Pgina 4

Universidad Alas Peruanas Filial Ica


GEF "viven" dentro de Eclipse, adems de poder ser usados conjuntamente con otros plugins, hacen uso de su interfaz grfica 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 tcnicas avanzadas de refactorizacin y anlisis de cdigo. Mediante diversos plugins estas herramientas estn tambin 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 tambin 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.

3.-Caractersticas Eclipse dispone de un Editor de texto con resaltado de sintaxis. La compilacin es en tiempo real. Tiene pruebas unitarias con JUnit, control de versiones con CVS, integracin con Ant, asistentes (wizards) para creacin de proyectos, clases, tests, etc., y refactorizacin.

Eclipse IDE

Pgina 5

Universidad Alas Peruanas Filial Ica


4.-Historia Eclipse comenz como un proyecto de IBM Canad. Fue desarrollado por OTI (Object Technology International) como reemplazo de VisualAge tambin desarrollado por OTI. En noviembre del 2001, se form un consorcio para el desarrollo futuro de Eclipse como cdigo abierto. En 2003, fue creada la fundacin independiente de IBM. Resumen de las versiones de Eclipse:

Versin

Fecha de lanzamiento

Versin de plataforma

Proyectos

Juno

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

Eclipse IDE

Pgina 6

Universidad Alas Peruanas Filial Ica

Eclipse 3.6 5.-Objetivo La Plataforma Eclipse (o simplemente La Plataforma cuando no haya riesgo de confusin) est diseada para afrontar las siguientes necesidades: Soportar la construccin de gran variedad de herramientas de desarrollo. Soportar las herramientas proporcionadas por diferentes fabricantes de software independientes (ISVs) Soportar herramientas que permitan HTML, Java, C, JSP, EJB, XML, y GIF). manipular diferentes contenidos (i.e,

Facilitar una integracin transparente entre todas las herramientas y tipos de contenidos sin tener en cuenta al proveedor. Proporcionar entornos de desarrollo grfico (GUI) o no grficos. Ejecutarse en una Windows y Linux. gran variedad de sistemas operativos, incluyendo

Hacer hincapi en que el lenguaje de programacin sea Java para la construccin de nuevos plug-ins.

Eclipse IDE

Pgina 7

Universidad Alas Peruanas Filial Ica


El principal objetivo de la Plataforma Eclipse es proporcionar mecanismos, reglas que puedan ser, seguidas por los fabricantes para integrar de manera transparente sus herramientas. Mediante APIs interfaces, clases y mtodos, se exponen estos mecanismos. La Plataforma tambin nos posibilita la construccin nuevas herramientas que extendern la funcionalidad de la Plataforma. 6.-Ventajas 1- El entorno de desarrollo integrado (IDE) de Eclipse emplea mdulos (en ingls plug-in) para proporcionar toda su funcionalidad al frente de la Plataforma de Cliente rico, a diferencia de otros entornos monolticos donde las funcionalidades estn todas incluidas, las necesite el usuario o no. 2- Este mecanismo de mdulos es una plataforma ligera para componentes de software. Adicionalmente a permitirle a Eclipse extenderse usando otros lenguajes de programacin 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 gestin de base de datos. 3-La arquitectura plug-in permite escribir cualquier extensin deseada en el ambiente, como sera Gestin de la configuracin. 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 programacin. 4- La definicin 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 utilizacin de eclipse para la creacin de aplicaciones clientes se puede decir que: 1- Eclipse provee al programador con Frameworks muy ricos para el desarrollo de aplicaciones grficas, definicin y manipulacin de modelos de Software, Aplicaciones web, etc. Por ejemplo, GEF (Graphic Editing Framework - Framework para la edicin grfica) 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 grficas para el usuario (GUI), etc. Dado que los editores realizados con GEF "viven" dentro de Eclipse, adems de poder ser usados conjuntamente con otros plugins, hacen uso de su interfaz grfica personalizable y profesional.

Eclipse IDE

Pgina 8

Universidad Alas Peruanas Filial Ica


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 tcnicas avanzadas de refactorizacin y anlisis de cdigo. 3- El IDE tambin 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. 7.-Radiografa Los datos y cifras relacionados con Eclipse, mostrados a continuacin, permitirn profundizar un poco ms en el producto. Como puede verse en la tabla siguiente, la versin 3.2.1 posee ms de 2 millones de lneas de cdigo (para el proyecto Eclipse). Estos datos son de acuerdo a SLOCCount. Utilizando esta cifra y aplicando el modelo COCOMO, podemos ver que requerira un esfuerzo para producir un software de este tamao de 604 persona-ao (para ello se ha utilizado la frmula 2.4*(KSLOC ** 1.05)). Para tener un estimado de los costes se toma en consideracin el salario de 56.286 $/ao, 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, telfono, papelera, etc.

ESTADO ACTUAL DE ECLIPSE

Lneas de cdigo fuente Esfuerzo estimado de desarrollo (persona-ao / persona-mes) Estimacin de tiempo (aos-meses) Estimacin del n de desarrolladores en paralelo Estimacin de coste

2.063.083 604,33 / 7.251,93 6,11 / 73,27 98,98 $ 81.636.459

Eclipse IDE

Pgina 9

Universidad Alas Peruanas Filial Ica


Un punto muy importante a notar son los diversos lenguajes de programacin utilizados en el desarrollo del proyecto. De acuerdo al anlisis realizado usando SLOCCount, el lenguaje ms utilizado es Java, seguido de ANSI C.

LENGUAJES DE PROGRAMACIN UTILIZADOS EN ECLIPSE 3.2.1

Lenguaje Java ANSI C C++ JSP sh perl php sed

Lneas de cdigo 1.911.693 133.263 10.082 3.613 2.066 1.468 896 2

% 92,66% 6,46% 0,49% 0,18% 0,10% 0,07% 0,04% 0,00%

8.El Proyecto Eclipse


El IDE Eclipse es, nicamente, una de las herramientas que se engloban bajo el denominado Proyecto Eclipse. El Proyecto Eclipse ana tanto el desarrollo del IDE Eclipse como de algunos de los plugins mas importantes (como el JDT, plugin para el lenguaje Java, o el CDT, plugin para el lenguaje C/C++). Este proyecto tambin alcanza a las libreras que sirven como base para la construccin del IDE Eclipse (pero pueden ser utilizadas de forma completamente independiente), como por ejemplo, la librera de widgets SWT.

Eclipse IDE

Pgina 10

Universidad Alas Peruanas Filial Ica


9. El Consorcio Eclipse
En su origen, el Proyecto Eclipse era un proyecto de desarrollo OpenSource, soportado y mantenido en su totalidad por IBM. Bajo la direccin de IBM, se fund el Consorcio Eclipse al cual se unieron algunas empresas importantes como Rational, HP o Borland. Desde el da 2 de febrero de 2004, el Consorcio Eclipse es independiente de IBM y entre otras, est formado por las empresas: HP, QNX, IBM, Intel, SAP, Fujitsu, Hitachi, Novell, Oracle, Palm, Ericsson y RedHat, adems de algunas universidades e institutos Tecnolgicos.

10. La librera SWT


El entorno de desarrollo Eclipse, incluyendo sus plugins, est desarrollado por completo en el lenguaje Java. Un problema habitual en herramientas Java (como NetBeans) es que son demasiado pesadas. Es decir, necesitan una mquina muy potente para poder ejecutarse de forma satisfactoria. En gran medida, estas necesidades vienen determinadas por el uso del API Swing para su interfaz grfico. Swing es una librera de widgets portable a cualquier plataforma que disponga de una mquina virtual Java pero a costa de no aprovechar las capacidades nativas del sistema donde se ejecuta, lo cual supone una ejecucin sensiblemente ms lenta que la de las aplicaciones nativas. SWT es una librera de widgets equivalente a Swing en la cual, se aprovechan los widgets nativos del sistema sobre el que se ejecuta. El hecho de aprovechar los widgets nativos, permite que la ejecucin de interfaces de usuario sea mucho ms rpida y fluida que si se utilizase Swing y, adems, siempre dispone del Look and Feel del sistema, sin necesidad de emularlo. La contrapartida es que la librera SWT es nativa, es decir, es necesario disponer de una librera SWT especfica para cada sistema operativo. Existen versiones de SWT para los S.O. ms habituales, incluyendo Windows, Linux, HPUX, MacOS, etc.

Eclipse IDE

Pgina 11

Universidad Alas Peruanas Filial Ica


11.-Instalacin
Primero descargaremos el JDK (JSE o JEE, slo el Run-time o JRE no es suficiente). Luego descargaremos eclipse-SDK-3.1.1-win32.zip. La descompresin produce el subdirectorio "eclipse". Ejecutar el IDE no es ms que llamar a eclipse.exe. Al ejecutar Eclipse por primera vez te pregunta donde estar tu workspace. El espacio de trabajo es el directorio del que cuelgan los proyectos. Primer contacto Supongamos que queremos implementar un ejemplo en el que vamos a representar una jerarqua de tipos de animales: carnvoros y herbvoros, adems tendremos una sencilla clase dedicada al interfaz de usuario. La jerarqua de subpaquetes ser: com animal (clases del dominio) carnvoro herbvoro ui (interfaz) Crearemos un proyecto con File - New - Project - Java Project. Nos preguntar por el nombre del proyecto, para el que "Eclipse" crear un directorio especfico. En nuestro ejemplo se denomina "bichos" y hemos marcado la opcin "Create separate source and output folders", de esta forma tendremos separados el cdigo fuente (.java) y el cdigo de salida (.class). En la segunda ventana no es necesario tocar nada, ya que no requerimos de otros proyectos para la construccin (build) y tampoco de ms libreras que las que ya tiene Eclipse:

Eclipse IDE

Pgina 12

Universidad Alas Peruanas Filial Ica


Pulsamos "Finish" y se crear el proyecto. A continuacin podemos ver en el Explorer que se han creado los subdirectorios: 1. bin: para los archivos class 2. src: para el cdigo fuente El concepto de "perspectivas" en Eclipse no es ms que una organizacin de las diferentes ventanas. Si escogemos Window - Open Perspective - Java nos aparece la configuracin visual propia de un proyecto Java:

A continuacin crearemos los directorios (folders o carpetas) de nuestro paquete. Primero marcamos "src" y con el botn derecho del ratn aparece un men flotante en el que escogemos New - Folder. En la ventana que aparece se escribe el nombre del nuevo directorio: "com". As hasta llegar al final:

Se puede observar que Eclipse ha creado automticamente los directorios paralelos para el cdigo de salida (los crea desde el subdirectorio "bin"). En "Window - Open Perspective - Other - Resource" puede tener una visin del estilo del Explorador de Windows con todos los subdirectorios de "src" y "bin".
Eclipse IDE Pgina 13

Universidad Alas Peruanas Filial Ica


A continuacin creamos los archivos java por medio de la opcin "New - Class", habiendo marcado previamente el directorio padre. Por ejemplo, marcamos en el directorio "animal" y creamos la clase "animal". En la siguiente figura puede ver que hemos marcado "carnvoro" y hemos hecho "New - Class" para crear la clase "puma":

Esta accin crea el siguiente cdigo: package com.animal.carnivoro; import com.animal.animal; public class puma extends animal { } Escribiremos un sencillo constructor: public puma() { super( "Hola, soy un puma" ); }

Eclipse IDE

Pgina 14

Universidad Alas Peruanas Filial Ica


Haremos lo mismo con la clase "vaca" para el subpaquete com.animal.herbvoro. Finalmente crearemos la clase com.ui.inicio para la ejecucin y presentacin: package com.ui; import com.animal.*; import com.animal.carnivoro.*; import com.animal.herbivoro.*; public class inicio { public static void main(String[] args) { animal uno = new puma(); animal dos = new vaca(); uno.presentarse(); dos.presentarse(); } } Podemos ejecutar el proyecto de dos formas:

De forma sencilla: marcando com.ui.inicio y seleccionar en el men flotante "Run as - Java Application" Crear una configuracin de ejecucin con la barra de men "Run - Run...". Debemos usar el botn "New" para crear una entrada para una "Java Application". El resultado se puede ver a continuacin:

Eclipse IDE

Pgina 15

Universidad Alas Peruanas Filial Ica

La salida de la aplicacin se puede ver en la consola. Si no aparece escoger "Window Show view - Console". A estas alturas se habr observado que Eclipse compila (build) de forma automtica cuando capta alguna modificacin, adems la compilacin es incremental.

Eclipse IDE

Pgina 16

Universidad Alas Peruanas Filial Ica

ndice
1. Definicin 2. Arquitectura 3. Caractersticas 4. Historia 5. Objetivo 6. Ventajas 7. Radiografa ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1 3 5 6 7 8 9 10 11 11 12

8. El Proyecto Eclipse ---------------------------------------------------9. El Consorcio Eclipse --------------------------------------------------10. La librera SWT --------------------------------------------------11. Instalacin ----------------------------------------------------

Eclipse IDE

Pgina 17