Guia de preparación como programador Java

25
Guia de preparación como programador Java. por Julio Laguna. - redribera 1 Introducción. 1.1 Introducción. 1.2 A quien va dirigido este tutorial. 2 Lo que necesitamos para empezar a programar Java. 2.1 Software necesario. 2.2 Formación como programador Java. 2.3 IDEs para Java. 2.4 IDEs para Java II. 2.5 Notas finales y comentarios del autor. 1 Introducción. 1.1 Introducción. Hace algún tiempo que quiero iniciar una serie de tutoriales en Java. Seguramente un gran número de lectores de nuestro sitio (redribera), ya conocerán o por lo menos habrán oido hablar de Java. Entonces ¿Por que, este tutorial? ¿Que me aportará este tutorial, que otros no puedan hacer?. Bueno pues, el lector que se haga estas preguntas no va mal encaminado, ya que en internet, en redes p2p, en librerías, bibliotecas......y un largo etcetera existe un volumen de documentación muy extenso y en practicamente todos los idiomas, donde se habla de absolutamente todas las tecnologías Java. Bien, dicho esto, particularmente yo, pretendo transmitir al lector las experiencias propias de un programador Java que empezó desde cero en esta serie de tecnologías. Es mas como programador me inicié en la tecnología Java procedente de otros entornos de programación, en concreto Visual Basic. Esto en si muchas veces resulta un problema, ya que venimos como vulgarmente se dice "viciados", de nuestras anteriores experiencias, y muchas veces esperamos algo igual o muy similar a lo que ya vimos en nuestras experiencias anteriores. Retomando el hilo anterior, y contestando al lector que se pregunte ¿que aporta de nuevo este tutorial?. Pues la intención que persigo os la describiré con mi propia experiencia: Durante años he trabajado programando aplicaciones de gestión y como yo lo llamo "tuneando ERP's". Comencé trabajando con delphi y

Transcript of Guia de preparación como programador Java

Page 1: Guia de preparación como programador Java

Guia de preparación como programador Java.por Julio Laguna. - redribera

1 Introducción.    1.1 Introducción.    1.2 A quien va dirigido este tutorial.2 Lo que necesitamos para empezar a programar Java.    2.1 Software necesario.    2.2 Formación como programador Java.    2.3 IDEs para Java.    2.4 IDEs para Java II.    2.5 Notas finales y comentarios del autor.

1 Introducción.

1.1 Introducción.

Hace algún tiempo que quiero iniciar una serie de tutoriales en Java. Seguramente un gran

número de lectores de nuestro sitio (redribera), ya conocerán o por lo menos habrán oido

hablar de Java.

Entonces ¿Por que, este tutorial? ¿Que me aportará este tutorial, que otros no puedan hacer?.

Bueno pues, el lector que se haga estas preguntas no va mal encaminado, ya que en internet,

en redes p2p, en librerías, bibliotecas......y un largo etcetera existe un volumen de

documentación muy extenso y en practicamente todos los idiomas, donde se habla de

absolutamente todas las tecnologías Java.

Bien, dicho esto, particularmente yo, pretendo transmitir al lector las experiencias propias de un

programador Java que empezó desde cero en esta serie de tecnologías.

Es mas como programador me inicié en la tecnología Java procedente de otros entornos de

programación, en concreto Visual Basic. Esto en si muchas veces resulta un problema, ya que

venimos como vulgarmente se dice "viciados", de nuestras anteriores experiencias, y muchas

veces esperamos algo igual o muy similar a lo que ya vimos en nuestras experiencias

anteriores.

Retomando el hilo anterior, y contestando al lector que se pregunte ¿que aporta de nuevo este

tutorial?. Pues la intención que persigo os la describiré con mi propia experiencia:

Durante años he trabajado programando aplicaciones de gestión y como yo lo llamo "tuneando

ERP's". Comencé trabajando con delphi y rápidamente me pasé a Visual Basic, hace ya unos

años, por la multitud de librerías, documentación y la extensa comunidad de usuarios para esta

plataforma de Microsoft. Con el paso del tiempo, VB me quedaba corto para ciertas tareas, y

fue entonces cuando apareció la plataforma de Microsoft .Net. Ya hacía mucho tiempo que

existían las tecnologías Java (allá por el 2003), pero hasta entonces no me las había planteado

como una alternativa. LA plataforma .Net, cambiaba en muchos aspectos la forma de trabajar

de VB, digan lo que digan, y fue entonces cuando me planteé la posibilidad de hacer un cambio

radical, en lugar de aprender nuevamente la plataforma .NET. En ello pesó mucho el hecho de

Page 2: Guia de preparación como programador Java

que Java era una plataforma gratuita y una tecnología con una comunidad de usuarios bastante

experimentada. En definitiva cada cual tendrá sus criterios para querer programar en Java o en

VB.NET o C# o lo que sea.

La cuestión , y es aquí donde pretendo responder estas preguntas al lector, es que en el

momento en que decidí aprender a programar en Java, me di cuenta de que existía mucho

material donde elegir, y a veces tanta abundancia nos ahoga en si misma.

Descargué muchos manuales gratuitos, compré algún libro que otro y leí multitud de páginas en

internet con documentación, artículos, ejemplos, opiniones y un sinfin de cosas mas. Visité

cientos de veces las páginas de Sun Microsystems, todo ello con la intención de comenzar a

programar en este entorno.

Una de las cosas que me llamó mas la atención es que si bien en todos estos tipos de

recursos, aprendes muchisimo acerca de Java, programación, las tecnologías disponibles y

mucho mas, no encontré una forma rápida de ponerme a programar, siendo que ya tenía

adquirida una gran parte de conceptos. Es decir realmente no encontré una guia que me

orientase desde principio a fin en como poder empezar a trabajar ya! con Java, y en lo que

realmente me interesaba que era programar mis primeras aplicaciones de gestión.

En númerosas ocasiones descargué aplicaciones para trabajar con Java que no eran lo que

buscaba, por el desconocimiento general en las tecnologías en si mismas, aunque mi nivel de

programación fuera bueno.

Por supuesto al final, buscando y buscando uno es capaz de resolver bien todos sus

problemas, por lo cual no hay nada de nuevo en este tutorial.

Eso si, basado en mis propias experiencias personales, lo que pretendo es crear una breve

guia en castellano con todo lo necesario para comenzar a programar en Java para aquellas

personas que se inician desde cero en Java. Se trata de una recopilación con lo básico de

estos entornos, así como una recopilación de enlaces comentados hacia documentación,

utilidades y sitios web relacionados con la tecnología Java, que pueden orientar un poco mejor

a quienes pretenden iniciarse en Java sin perder un gran número de horas. Y es que el tiempo

es oro. Espero que este tutorial sea de vuestro agrado.

1.2 A quien va dirigido este tutorial.

Este no es un tutorial de programación. Tampoco es una novela, lo que pretendemos en

redribera con la difusión del tutorial es poner en conocimiento del lector una serie de pasos,

utilidades, y recursos para iniciarse en la programación Java. Por tanto este tutorial va dirigido

a estas personas que no han tenido contacto o si lo han tenido ha sido breve, con la tecnología

Java.

Las personas que ya programan en Java o conocen el entorno, puede que encuentren en este

tutorial algunas reseñas hacia manuales o sitios web que quizás no conozcan, por lo que es

posible que esta guia les pueda parecer útil.

El motivo de la realización de este tutorial no es otro que compartir una serie de experiencias

personales como programador Java, con lo que la guia puede contener apuntes que no han

estado sujetos a revisión. Es decir no hay que tomar esta guia como un libro maestro, pero

Page 3: Guia de preparación como programador Java

quizás pueda servir de ayuda el compartir estas experiencias con personas no iniciadas en el

entorno de Java. No pretendemos por ello ser gurús de Java, ni mucho menos, y estamos

seguros que personas con mucha mas experiencia y conocimientos podrían rebatir estos

contenidos. Simplemente esperamos que estas experiencias sirvan de utilidad al lector.

Esta guia, está orientada totalmente al público de habla hispana, aunque en algunas ocasiones

no nos quedará mas remedio que hacer algunos apuntes a información en Inglés, que al fin y al

cabo son los que cortan el bakalao en todo esto.

Por otra parte estamos abiertos a todo tipo de comentarios y críticas de nuestros lectores, que

podeís realizar en los foros, o en los comentarios del tutorial, cuyo enlace podeís encontrar en

el menú de la izquierda de esta misma página.

2 Lo que necesitamos para empezar a programar Java.

2.1 Software necesario.

Bueno, podría comenzar este capítulo con la clásica introducción del lenguaje Java. Java es un

lenguaje de programación que desarrollo Sun, inicialmente para usarse en electrodomesticos, y

que Netscape, integró en su versión X del navegador una Maquina Virtual que permitía la

ejecución de Applets y bla,bla,bla.

En fin, todas estas historias y muchas mas se pueden encontrar sin demasiada dificultad en

cualquier manual de Java y en infinidad de páginas web, con una sencilla busqueda en Google.

Sin entrar en demasiados detalles y sin saber nada aun de programar en Java, os diré, que

Java es un grupo de tecnologías clientes, de servidor, de acceso a datos, de...,en fin de

muchas cosas.

Pero después de todo esto, que sirve para que Sun venda muchos servidores y muchos S.O.

Solaris, al final para los programadores, nos queda un lenguaje de programación, que los

dinosaurios como yo es a lo que estamos acostumbrados y en ello en lo que me voy a centrar.

Esto es por no confundir a los que se inician en esto con demasiada terminología, ya que una

vez conozcamos los entresijos del lenguaje, todo lo demás fluira solo.

Lo primero que normalmente oye uno acerca de las bondades de Java (por lo menos es lo que

oí yo), es que Java es un lenguaje independiente de plataforma (bueno esto se podría discutir).

En lo que la gente se basa para afirmar tal premisa, es en que cuando compilamos un

programa (un grupo de clases, ya lo veremos) hecho en Java, éste, no es de por si ejecutable.

Osea el programa compilado no hace nada, ni cuando hacemos doble click en el fichero ni

nada por el estilo. Para que un programa hecho en Java funcione, siempre necesitaremos lo

que se conoce como Java Virtual Machine o Maquina Virtual de Java.

La Maquina virtual de Java, es un programa que pone a nuestra disposición gratuitamente la

empresa Sun. Este programa cuando está en ejecución en nuestro ordenador permite, que

podamos ejecutar programas / clases, compilados en Java. En definitiva, actua como un

procesador independiente de nuestros programas. Claro, esto es lo que al fin y al cabo

consigue que Java sea independiente de la plataforma donde se ejecuta.

Page 4: Guia de preparación como programador Java

En función de la plataforma en la que trabajemos, Windows, Unix, Linux, Solaris, deberemos

instalar una versión u otra de la maquina virtual de Java, eso si, no son el mismo programa. La

maquina Virtual de Windows no sirve para Linux y viceversa.

Los programas hechos en Java, se compilan a un código intermedio, conocido como

bytecodes, que la maquina virtual interpreta. Y esto es lo que hace que los programas Java

sean independientes de plataforma, con un pequeño matiz. Muchas veces desarrollamos

software pensando en una plataforma en concreto, lo que deberemos cuidar, porque esto si

que hará que un programa sea compatible o no con una determinada plataforma. Por supuesto

el hecho de ejecutar nuestros programas sobre otro programa en ejecución en el sistema

operativo, tiene sus ventajas como hemos visto, pero también sus inconvenientes. Pero

dejemos este tema para los verdaderos expertos en la maquina virtual y centremonos en la

programación.

No quiero ser demasiado plasta, así que vayamos a lo que realmente interesa, hablando en el

lenguaje mas coloquial posible.

Hemos dejado claro que necesitamos la Maquina Virtual de Java para poder ejecutar los

programas que realicemos, el sitio para obtenerla, si es que no la tenemos instalada ya en

nuestro ordenador, es el sitio web de Sun Microsystems para java.

Practicamente todo lo necesario para trabajar con Java se puede descargar desde este sitio

web. Lo que a mi me sucedió, es que cuando accedí al sitio de Sun por primera vez, la cantidad

de software para descargar y artículos, fue abrumadora, con lo que andaba algo perdido.

Cuando entras a este sitio web, aparte de que está en Inglés, hay un montón de cosas para

descargar, que si tenemos idea del tema, pues ya sabemos que debemos buscar, pero cuando

estamos empezando (como a mi me pasó), pues no tienes ni idea de que debo descargar. Por

ejemplo hablando de Java, tenemos Java SE, Java EE, Java ME ....Tomcat...NetBeans. y un

sin fin mas de aplicaciones.

Podría describir para que se utiliza cada una de ellas, pero para no hacer largo esto, a los que

empezaís, y lo que quereís es aprender a programar en Java, lo mejor es que descargueís el

JDK (en la versión que se encuentre) del Java estandar, osea el Java SE.

http://java.sun.com/javase/downloads/index.jsp

La URL, que os he dejado arriba de estas líneas, contiene a fecha de hoy (10-01-2008), todo el

software a descargar relacionado con la versión Standar de Java, vamos con la que podremos

juguetear en nuestro PC doméstico, para empezar. Normalmente esta URL no varía con los

cambios de versión de Java, con lo que podeís añadirla tranquilamente a vuestros marcadores

de navegación. Os aseguro que accedereís a ella

mas de una vez.

En esta dirección web, del sitio de sun,

encontrareís las descargas relacionadas con la

edición estandar de Java. Esta edición es la idonea

para realizar las aplicaciones habituales de gestión,

Aspecto de las descargas de JavaSE

Page 5: Guia de preparación como programador Java

desde nuestro PC doméstico.

En esta dirección suelen coexistir varios paquetes que Sun pone a nuestra disposición. Son

paquetes realizados a la medida de nuestras necesidades como usuarios de Java. Por ejemplo,

si tan solo queremos ejecutar aplicaciones Java (ya compiladas), o visualizar Applets de Java

(son unos programas orientados a ejecutarse en navegadores web), tan solo necesitariamos

descargar el paquete de la Java Runtime Environment (la versión que haya). Este paquete

incluye la Maquina Virtual de Java de la que hablabamos antes.

Por el contrario si lo que necesitamos es poder desarrollar nosotros mismos, que es lo que

pretendemos, desarrollar aplicaciones en Java, necesitaremos descargar el JDK de Java en la

versión que haya (a fecha de hoy es JDK 6 Update 3). El JDK, además de incluir lo necesario

para ejecutar nuestras aplicaciones, como la Maquina Virtual de Java, incluye las aplicaciones

de linea de comandos necesarias para realizar funciones para desarrolladores, tales como el

compilador de Java, para poder transformar a "bytecodes" los programas hechos en código

Java. También incluye aplicaciones para generar documentación, y algunas mas que podeís

consultar en la ayuda de la página de Sun. En definitiva, lo necesario para comenzar a

programar con Java.

Otros paquetes disponibles para descargar, vendrán además de con el JDK con algún IDE

integrado o con aplicaciones extras como NetBeans. También nos valen, pero de momento con

la descarga de JDK de turno será suficiente.

Además entre los paquetes que hay para

descargar, hay uno muy importante, imprescindible

diría yo, tanto para los programadores avanzados,

como por supuesto, los que se inician en esto; se

trata de la Java SE Documentation (a dia de hoy

disponible la de la versión 6). La documentación de

Java es esencial, sobre todo la que describe el API

de Java. Para hacernos una idea, es donde residen

las especificaciones técnicas, así como sintaxis de todos los objetos y funciones de las clases

de Java. Es imprescindible que dispongamos siempre de acceso a la documentación. Cuando

la descargamos, se trata de un fichero zip que contiene una estructura de páginas html con la

ayuda de Java.

Otro apunte importante volviendo a la descarga del JDK, es que como os comenté

anteriormente, teneís disponibles descargas adecuadas a la plataforma sobre la que vayaís a

trabajar, Linux, Windows, Solaris....

Recapitulando será necesario para comenzar, que desde el enlace que os dejé mas arriba,

descarguemos:

el JDK (actualmente JDK 6 Update 3) La documentación (Java SE 6 Documentation)

Os dejo de nuevo el enlace a la página de descargas :

http://java.sun.com/javase/downloads/index.jsp

Aspecto de la ayuda Java en html

Page 6: Guia de preparación como programador Java

Cuando descarguemos los paquetes, y en función de la plataforma instalaremos el JDK, siguiendo las instrucciones de instalación en cada caso. Y con la documentación, habitualmente se trata de un fichero en formato zip, que contiene la estructura html de la documentación. No os debe reportar mayor problema, pero si es así comentadlo en los posts de este artículo, y con gusto os responderé.

Aspecto del cuadro de descarga del JDK en la página de Java Sun

Sobre estas líneas, fijaos como os he impreso una muestra del aspecto que presenta el cuadro

de descarga del JDK de Java a esta fecha. Fijaos, como además de los enlaces hacia la

descarga del software, existen otros enlaces mas abajo, como las instrucciones de instalación y

si clicaís en el, os redirigirá a una página con las instrucciones de instalación (y mas...), del JDK

en función de la plataforma (o S.O.), sobre la que queraís realizar la instalación.

Con estos pasos realizados, ya estaremos en disposición de realizar nuestros primeros

programas en Java. Pero antes de abordarlo, comentaremos la documentación necesaria por la

que podemos comenzar nuestra preparación como programadores Java.

2 Lo que necesitamos para empezar a programar Java.

2.2 Formación como programador Java.

Con lo que hemos visto anteriormente, ya dispondriamos de la capacidad de poder ejecutar

aplicaciones Java. Además con un editor de texto y la suficiente pericia, disponemos del

software necesario para desarrollar nuestros propios programas en Java.

Claro ahora la cuestión es que si somos novatos en esto, pues lo normal es que no tengamos

ni idea de como funciona la programación en Java. Bien, lo principal es que Java es un

lenguaje orientado a objetos. El hecho de que Java sea un lenguaje orientado a objetos, por

otro lado es la tendencia desde hace algún tiempo, nos permite intuir muchas facetas de la

programación Java para aquellas personas acostumbradas a trabajar con algún lenguaje de

este tipo. Para los nuevos en el ámbito de la programación, quizás presente algo mas de

dificultad pues no solo deben aprender la sintaxis del lenguaje, sino la ideosincracia de la

programación orientada a objetos POO. Pero según mi experiencia, para quien creo que aporta

mayor número de problemas este hecho, es para aquellos programadores, que como yo,

Page 7: Guia de preparación como programador Java

proceden de programar en leguajes de tipo procedural. O semi orientados a objetos, como es

VB6. En función de la tipología del aprendiz, estoy seguro de que existe un plan de formación

mas apto que otro.

No es mi intención en este tutorial el enseñar a programar en Java, sino que este sirva de guia

para aquellos que se están iniciando recopilando la

información necesaria para tal proposito.

El caso es que aunque yo me empeñara en

intentar desarrollar un tutorial de aprendizaje en

programación Java, estoy seguro que fracasaría en

el intento, o por lo menos no sabría explicarlo tan

bien como la impresionante cantidad de libros y

documentos realizados para tal proposito.

De todos esos libros o manuales de iniciación a la

programación en Java, sin duda alguna, yo me

quedo con el Manual de la serie Aprenda ... como si estuviera en primero, que posiblemente

muchos de vosotros ya conozcaís, sino el de Java, posiblemente el de alguna otra tecnología

como Excel, Visual Basic o C.

Se trata de un excelente manual, que no se ya porque edición irá, ya que yo lo conocí allá por

el año 2002, auspiciado por el Campus tecnológico de la Universidad de Navarra (Tecnun).

Es un manual completísimo, y que trata todos los apectos de la iniciación a la programación en

Java. Un manual en formato pdf, que comienza mostrandonos un poco de historia de Java y

algún ejemplo comentado, para seguir con todos los entresijos del lenguaje de programación

en si basandose en las versiones de Java 2 (donde se produjo un cambio importante en el

desarrollo de Java). Este tutorial explica todos los entresijos del Java, en cuanto a las

explicaciones de Clases, Variables, Metodos, Bucles, Bifurcaciones, Estructuras de

control, Excepciones.....además de un largo repaso por aquellas clases mas utilizadas o de

mayor difusión de Java. Especial incapié a los temas que hablan acerca del AWT, extrapolable

a SWING, y que son las clases necesarias para realizar programación gráfica y visual en Java

(gráficos, botones, cuadros de texto, listas, combos,etc.).

Actualmente este manual contiene unas 175 páginas. Es con el manual que yo aprendí a

programar en Java y estimo que en una semana se puede leer y comprender perfectamente,

ello debido a la mágnifica prosa que utilizan sus autores.

Descargar este manual es totalmente gratuito, y bajo estas líneas os dejo el enlace al

documento en si mismo, así como a la página de descarga de los manuales de la colección

Aprenda....como si estuviera en primero. Es muy probable, que encontreís mas de uno

interesante.

Portada del manual.

Page 8: Guia de preparación como programador Java

Manual de aprendizaje Java: Aprenda Java como si estuviera en primero

Colección de manuales Aprenda informática como si estuviera en primero

En mi opinión, quizás en esto me puedan criticar, el

libro por excelencia en el ámbito educativo de la

programación Java es el famoso libro de Bruce Eckel,

"Piensa en Java", en Inglés, "Thinking in Java".

Muchos programadores Java han aprendido las bases

de la programación en Java con este libro, una

excelente herramienta, que no solo nos enseña la sintaxis y estructura de programación en

Java, sino que además nos fuerza a pensar en la técnica de la programación orientada a

objetos óptima para el desarrollo en Java. Se trata de un libro del que se han vendido

montones de unidades en multitud de idiomas. Desgraciadamente el libro en castellano se

debe comprar (no se si existirá en redes p2p), pero el autor Bruce Eckel, ofrece en su página

una versión electrónica sin coste alguno. Las pega, es que está en Inglés, pero para los que

conocen la lengua de Shakespeare, es una buena opción para profundizar en el aprendizaje de

Java. Bajo estas lineas os dejo el enlace a la descarga del libro electrónico desde la página del

autor y la página del autor misma, donde existe bastante documentación ampliada, como

ejercicios y revisiones del libro.

Descarga de Think In Java 3ª Edición desde Planet pdf

Páginas de Bruce Eckel en MindView

La verdad es que la cantidad de libros para aprender a programar en Java y manuales on-line

es muy extensa, por lo que no voy a poner aquí una lista de libros que con una consulta en

Google basta para obtenerla.

No obstante una página orientada por completo a los manuales y la iniciación a la

programación en java, la podeís encontrar en la sección de tutoriales de Redribera, se trata de

la página web de TodoJava en este enlace, encontrareís multitud de documentación y

manuales para iniciaros en la programación de Java.

También os dejo aquí un enlace a una página de los compañeros de webtaller, en la que si que

hay una lista bastante currada de libro y manuales para aprender Java.

Lista de manuales para aprender a programar en Java de WebTaller

En este manual no voy a tratar aspectos de programación en Java, ya que sería absurdo, con

la cantidad de manuales y tutoriales que existen en Internet para tales menesteres.

Colección libros, piensa en java.

Page 9: Guia de preparación como programador Java

Desde luego la guia por excelencia donde estar al dia de todo es el sitio web Java de Sun:

java.sun.com, pero muchisimas páginas en internet son verdaderas bibliotecas de

programación Java con excelentes ejemplos, blogs y foros para desarrollo Java. Aquí os voy a

dejar un pequeña lista con algunas webs que por lo menos a mi me han sido de mucha utilidad

con tutoriales y guias relacionadas con Java y en castellano.

Programacion.net: Excelente web orientada a la programación en general, donde existe una

sección de tutoriales y artículos Java a la que podeís acceder desde este enlace. Contiene

traducidos al castellano multitud de manuales propios de Sun. Entre ellos son muy interesantes

los manuales relacionados con las API's Java, pero vereís como en este sitio encontraís

multitud de documentación de excelente calidad.

Webtaller: El sitio de Webtaller es un excelente recurso de programación en general, y como su

nombre indica con multitud de contenido orientado al desarrollo web. Desde este enlace,

podreís acceder a la documentación Java que tienen especialmente preparada para nosotros.

Todo Java: Ya os presenté anteriormente este sitio, donde encontrareís multitud de

documentación y ejemplos de desarrollo en Java. Un sitio muy interesante.

Bueno, por lo general existen cantidad de sitios donde encontrar lo que buscamos, a veces no

nos quedará mas remedio que recurrir al Inglés para obtener información, pero existe una

comunidad de usuarios realmente importante. Es por ello que para finalizar este apartado,

quiero reseñaros lo siguiente. Java como estandar contiene una gran cantidad de librerías de

clases (paquetes) que nos permiten desarrollar cualquier funcionalidad de un programa, pero

una de las ventajas interesantes de Java es su extensa comunidad de usuarios. Esto nos

permite encontrar una gran cantidad de recursos y paquetes de clases o librerías que estas

comunidades ponen a la disposición del programador, unas veces pagando y otras como

código libre, y que nos facilitan nuestra vida de programadores. Por ejemplo yo mismo,

programando en Java estandar, es fácil que me pueda hacer una seríe de clases con las que

poder dibujar gráficas en mis programas, a base de trabajar con Swing o AWT, pero la ventaja

de trabajar en Java es que puedo recurrir a las librerías de JFreeChart, que es un paquete de

clases gratuito (solo hay que comprar la guia de uso si queremos), con el que el desarrollo de

mis aplicaciones, evidentemente será mucho mas ágil.

Para finalizar este capítulo hablaremos de los IDE (Integrated Development Environment /

Entorno integrado para desarrollo), para Java y así poder completar lo necesario para

programar de una manera ágil en Java. Quizás este sea el último paso para poder comenzar a

trabajar con Java de una manera profesional y organizada.

2 Lo que necesitamos para empezar a programar Java.

2.3 IDEs para Java.

Page 10: Guia de preparación como programador Java

Un entorno de desarrollo integrado o en inglés Integrated Development Environment ('IDE') es

un programa compuesto por un conjunto de herramientas para ser usadas por un programador

en el proceso de desarrollo de software.

Los lectores que hayan programado anteriormente con Visual Basic, Delphi, C#, php,....y un

largo etcetera, ya habrán utilizado un IDE con toda seguridad, pues es una herramienta

fundamental a la hora de programar. Les dejo una reseña a la descripción que la Wikipedia

hace sobre este termino.

¿Por que necesitamos un IDE para programar en Java?. Tratemos de abordar esta cuestion.

Si leyeron parte o todo de alguna de las guias que sujerimos para aprender a programar en

Java, y ya han comenzado a familiarizarse con la sintaxis del lenguaje, estructuras, bucles,

clases, etc. habrán visto parte de la codificación del lenguaje y este código que pongo a

continuación, no les resultará demasiado extraño. Se trata de uno de los códigos mas simples y

usualmente utilizado para aprender a programar, Hola mundo, o HelloWorld....

public class holaMundo {

/** * @param args */public static void main(String[] args) {

// TODO Auto-generated method stubSystem.out.println("Hola mundo");

}

}

Claro, este sencillo programa, que imprime en la consola de salida, el texto "Hola Mundo", no

cuenta con mas de 10 líneas, incluyendo los comentarios del mismo. Desarrollar esta

aplicación con un simple editor de texto como Notepad y compilarlo con el compilador que

incorpora el JDK de Java, Javac, no resulta excesivamente complicado.

Pero la realidad es que este tipo de programas no tienen aplicación mas que para eso, para

aprender a programar.

En la tónica habitual de programación, los programas son mucho mas complejos, fijaos en el código fuente Java que os pongo bajo estas líneas, para realizar una nueva aplicación.

import javax.swing.SwingUtilities;import java.awt.BorderLayout;import javax.swing.JPanel;import javax.swing.JFrame;import javax.swing.UIManager;import javax.swing.UnsupportedLookAndFeelException;

import java.awt.Color;import java.awt.GridLayout;import java.awt.GridBagLayout;

Page 11: Guia de preparación como programador Java

import javax.swing.JTextField;import java.awt.GridBagConstraints;import javax.swing.JLabel;import java.awt.Insets;import java.awt.Dimension;import javax.swing.JButton;

import net.infonode.gui.laf.InfoNodeLookAndFeel;import net.infonode.gui.laf.InfoNodeLookAndFeelTheme;import net.infonode.gui.laf.InfoNodeLookAndFeelThemes;

public class oneSimpleWindow extends JFrame {

private static final long serialVersionUID = 1L;

private JPanel jContentPane = null;

private JTextField loginField = null;

private JLabel loginLabel = null;

private JTextField passwordField = null;

private JLabel passwordLabel = null;

private JButton buttonOk = null;

/** * This method initializes loginField * * @return javax.swing.JTextField */private JTextField getLoginField() {

if (loginField == null) {loginField = new JTextField();

}return loginField;

}

/** * This method initializes passwordField * * @return javax.swing.JTextField */private JTextField getPasswordField() {

if (passwordField == null) {passwordField = new JTextField();

}return passwordField;

}

/** * This method initializes buttonOk * * @return javax.swing.JButton */private JButton getButtonOk() {

if (buttonOk == null) {buttonOk = new JButton();buttonOk.setText("Validate");

}

Page 12: Guia de preparación como programador Java

return buttonOk;}

/** * @param args */public static void main(String[] args) {

// TODO Auto-generated method stubSwingUtilities.invokeLater(new Runnable() {

public void run() {InfoNodeLookAndFeelTheme theme =

InfoNodeLookAndFeelThemes.getGrayTheme();theme.setSelectedTextColor(Color.black);try {

UIManager.setLookAndFeel(new InfoNodeLookAndFeel(theme));

oneSimpleWindow thisClass = new oneSimpleWindow();

thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);thisClass.setVisible(true);

} catch (UnsupportedLookAndFeelException e){

//Nada}

}});

}

/** * This is the default constructor */public oneSimpleWindow() {

super();initialize();

}

/** * This method initializes this * * @return void */private void initialize() {

this.setSize(257, 134);this.setContentPane(getJContentPane());this.setTitle("Identificacion");

}

/** * This method initializes jContentPane * * @return javax.swing.JPanel */private JPanel getJContentPane() {

if (jContentPane == null) {GridBagConstraints gridBagConstraints11 = new

GridBagConstraints();gridBagConstraints11.gridx = 1;gridBagConstraints11.insets = new Insets(15, 0,

0, 0);gridBagConstraints11.gridy = 2;

Page 13: Guia de preparación como programador Java

GridBagConstraints gridBagConstraints3 = new GridBagConstraints();

gridBagConstraints3.gridx = 0;gridBagConstraints3.anchor =

GridBagConstraints.EAST;gridBagConstraints3.gridwidth = 1;gridBagConstraints3.insets = new Insets(0, 50,

0, 10);gridBagConstraints3.gridy = 1;passwordLabel = new JLabel();passwordLabel.setText("Password");GridBagConstraints gridBagConstraints2 = new

GridBagConstraints();gridBagConstraints2.fill =

GridBagConstraints.VERTICAL;gridBagConstraints2.gridy = 1;gridBagConstraints2.weightx = 1.0;gridBagConstraints2.ipadx = 100;gridBagConstraints2.anchor =

GridBagConstraints.WEST;gridBagConstraints2.gridx = 1;GridBagConstraints gridBagConstraints1 = new

GridBagConstraints();gridBagConstraints1.gridx = 0;gridBagConstraints1.anchor =

GridBagConstraints.EAST;gridBagConstraints1.insets = new Insets(0, 0,

0, 10);gridBagConstraints1.gridy = 0;loginLabel = new JLabel();loginLabel.setText("Login");GridBagConstraints gridBagConstraints = new

GridBagConstraints();gridBagConstraints.fill =

GridBagConstraints.VERTICAL;gridBagConstraints.gridy = 0;gridBagConstraints.weightx = 1.0;gridBagConstraints.anchor =

GridBagConstraints.WEST;gridBagConstraints.ipadx = 100;gridBagConstraints.gridx = 1;jContentPane = new JPanel();jContentPane.setLayout(new GridBagLayout());jContentPane.add(getLoginField(),

gridBagConstraints);jContentPane.add(loginLabel,

gridBagConstraints1);jContentPane.add(getPasswordField(),

gridBagConstraints2);jContentPane.add(passwordLabel,

gridBagConstraints3);jContentPane.add(getButtonOk(),

gridBagConstraints11);}return jContentPane;

}

} // @jve:decl-index=0:visual-constraint="10,10"

Page 14: Guia de preparación como programador Java

La cantidad de código utilizado en este script, es significativamente mayor. En este script

conviven instrucciones mas complejas, para definir la clase oneSimpleWindow y la probabilidad de cometer errores para desarrollar este código con un editor de texto y el compilador de línea de comandos, es muy elevada. Pues bien, todo este código tan solo realiza la acción de desplegar una ventana con un formulario de identificación como el de la imagen de abajo.

Ejecución de oneSimpleWindow.class

De hecho el botón de validar ni siquiera realiza ninguna acción programada, el código tan solo

ubica dos controles de tipo JTextField, otros dos de JLabel (etiquetas), y un JButton (para el

botón), en un Panel que actua como ventana. Imaginad pues si debemos programar eventos

para el botón, etc. Y todo este código, para realizar una acción que un entorno integrado

adecuado, supondría arrastrar cinco objetos de una paleta a un formulario.

Evidentemente, como ya imaginareís, esa es realmente la causa que hace necesario utilizar un

entorno integrado (IDE), para desarrollar nuestras aplicaciones en Java. Simplemente

permitirnos el desarrollo rápido de aplicaciones, en este caso Java.

Un IDE adecuado, nos proporciona menús y atajos rápidos tanto para ejecutar, como para

depurar programas en Java de una forma rápida y eficaz, sin necesidad de tener que recurrir a

la tediosa línea de comandos. Además suele integrar editores de texto inteligentes, que nos

ayudan en nuestra labor, completando código, mostrando parametros para instrucciones de

forma rápida, sugiriendo variables, etc. Suelen integrar inspectores de objetos y propiedades

que facilitan nuestrar tarea como programadores. Y esto es muy positivo y valorable en

lenguajes Orientados a objetos y tan tediosos como Java, que incorporan multitud de librerias

de clases/objetos.

Bajo estas líneas os he impreso un pantallazo del IDE eclipse, del cual hablaremos seguidamente. Podeís observar a la izquierda inspectores de archivos y objetos, el editor en el centro y ventanas de log, en la parte inferior, incluso en el editor se ven las caracteristicas de completar código que incorpora el IDE.

Page 15: Guia de preparación como programador Java

Aspecto del IDE Eclipse, editando un archivo java

2 Lo que necesitamos para empezar a programar Java.

2.4 IDEs para Java II.

La elección de un IDE para trabajar con Java es una decisión muy importante. El hecho de que

Sun ponga a disposición gratuita el JDK de Java, y otras descargas, ha permitido aflorar un

cúmulo de aplicaciones de apoyo a los desarrolladores Java, incluyendo IDEs. Particularmente

he trabajado bastante a fondo con dos de ellos, Sun One Studio y Eclipse. De todos modos

existen y a lo largo del tiempo han existido muchos otros. AnyJ, NetBeans, Sun Java Studio

Creator, Borland JBuilder, IBM WebSphere Studio Application Developer.

La mayoría de estos IDE's son propietarios de compañías como Sun, Borland o IBM. Esto es

un inconveniente, tanto monetario si quieres operar con una licencia legal, incluso problematico

de cara a la compatibilidad de los ficheros generados, en algunos casos muy puntuales. Aún

así son opciones muy validas y cada cual podrá comparar a su gusto con el entorno que mejor

se desenvuelve.

En este enlace, os dejo una comparativa (lastima que esté en inglés), realizada con los cinco

IDE's mas importantes (el artículo es de 2005), para mas información ajena a este sitio.

Mi experiencia con Sun One Studio, de la que conocí hasta la versión 7, no fue mala, de hecho

el entorno era bastante completo, pero el coste de adquisición de licencias para operar con el, y

el hecho mismo de ser un software mantenido únicamente por Sun, no me terminó de

convencer (ojo, opinines mias).

Page 16: Guia de preparación como programador Java

Si debo aconsejar la utilización de un IDE, por parte de los lectores para programar en Java,

me quedo sin duda con Eclipse. Eclipse es un IDE que soporta multiples lenguajes, y mucho

mas. Me refiero al permitir de una forma muy cómoda, trabajar con varias tecnologías

asociadas. En estos momentos, estoy redactando este tutorial desde el plug-in Oxygen para

Eclipse, que me permite trabajar con tecnologías basadas en XML.

En la sección anterior tuvisteis la oportunidad de comprabar el aspecto de un pantallazo de

Eclipse en ejecución sobre Windows.

Eclipse es mucho mas que un simple IDE, es toda una comunidad de desarrolladores de

código libre, dedicados a la implementación de mejoras del entorno. Además algunas de las

firmas mas importantes del sector, como IBM dan soporte a la Fundación Eclipse para su

desarrollo. Incluso Sun, tradicionalmente defensora de su IDE gratuito NetBeans, parece

dispuesta a estrechar lazos con la Fundación.

La página principal del sitio de Eclipse es http://www.eclipse.org/

En este enlace de la wikipedia, podeís encontrar mas información en castellano al respecto.

Enfocaré la descripción que haga de Eclipse a su puesta a punto para empezar a programar en

Java. Desde la misma página principal de eclipse, no obstante, teneís acceso a todos los

proyectos de la comunidad , a la descarga del software necesario según la plataforma, de

modo gratuito, y a todas las noticias interesantes que acontecen en la comunidad. Por ello no

me extenderá mas en explicar este sitio.

Eclipse parte de una instalación base, orientada a varios perfiles de desarrollador.

Desarrollador Java, Desarr.Java EE, Desaroll. C/C++, Desarrollador de plug-ins, y el Clásico de

eclipse, que incluye código fuente. Bajo estas lineas una captura de la página de descargas de

eclipse.

Página de descargas eclipse.

Página principal de eclipse.org

Page 17: Guia de preparación como programador Java

Para nuestros propositos de iniciación a programadores Java, bastará con descargar la

distribución Eclipse IDE for Java Developers. La cual como podreís observar está disponible

para Mac, Linux y Windows.

Con este software, y tras instalarlo en nuestro ordenador, previa instalación del JDK de Java,

ya podremos realizar nuestro primeros programas Java en un entorno mucho mas cómodo. No

es el objeto de esta guia enseñar la utilización del IDE eclipse, pero su manejo es bastante

sencillo e intuitivo y viene con ayuda en linea para comenzar a trabajar con eclipse.

Eclipse, además tiene una comunidad de desarrolladores, realmente activa. Continuamente se

están desarrollando nuevos y revisando anteriores plug-ins. Al igual que en cualquier otro

software, eclipse permite la instalación de plug-ins destinados a mejorar las funcionalidades del

propio IDE y a extenderse en cada vez mas tecnologías. Como anteriormente os comentaba,

ahora mismo escribo este tutorial en la vista del plug-in Oxygen XML, para eclipse.

Eclipse tiene abiertos una grana cantidad de proyectos, para ampliación del IDE, y que en este

entorno se instalan conociendose como plug-ins. En este enlace existe una lista completa de

los proyectos que se están desarrollando para eclipse por la comunidad de desarrolladores. La

cantidad de ellos es enorme, y la mayoría disponen de espacios propios en el sitio de eclipse,

tanto para ver la evolución o noticias del desarrollo, para reportar bugs, descargas, etc...

Dado que esta guia pretende mostrar lo necesario para la utilización del IDE como solución en

el desarrollo de Java, no voy a comentar todos los plug-ins, ya que de hecho, es algo muy

personal, y en funión de la tecnología con la que trabajemos y nuestras necesidades como

desarrolladores, el que instalemos uno u otro plug-in.

Aún así no dejaré pasar esta oportunidad para aconsejar, que una vez tengamos instalado el

IDE para Java que recomendamos anteriormente, probemos con la instalación de uno de los

plug-ins mas interesantes a la hora de desarrollar aplicaciones visuales en Java (formularios,

campos de texto, menús, etc...), como la clase oneSimpleWindow que vimos en un ejemplo

anterior

. Se trata del plug-in Visual editor - VE, perteneciente al Tools Project en Eclipse.

Esta es la página principal del proyecto, desde donde podeís descargar e instalar el plug-in

para eclipse. Fijaos en el pantallazo anterior para el desarrollo de la clase oneSimpleWindow

que vimos anteriormente, en mi instalación (eclipse 3.2).

Page 18: Guia de preparación como programador Java

Aspecto de eclipse, trabajando con una clase con el editor Visual Editor.

Como podeís ver en el editor (en el centro de la pantalla), se trata de un plug-in, que nos

permite trabajar con las clases Visuales de Java (AWT y Swing), al estilo arrastrar y colocar.

Incluso fijaos en la paleta de controles (clases visuales de Java), situado a la derecha de la

captura. De esta forma podemos, crear una clase como oneSimpleWindow con cinco

acciones de arrastrar y soltar.

Eclipse desarrolla proyectos muy, pero que muy ineteresantes para programar con Java, que

debieriais descubrir, echando un vistazo a su sitio eclipse.org, además de Visual Editor,

podeís encontrar plug-ins muy importantes, como por ejemplo Dali Java Persistence Tools,

dentro de Eclipse Web Tools Platform Project. Es un proyecto que permite, integrado en el IDE

eclipse, implementar persistencia de datos en nuestras aplicaciones Java (con Bases de

datos), al igual que otras utilidades conocidas y mas asentadas como hibernate. Proyectos

muy interesantes, también, son los incluidos dentro de Test and Performance Tools Platform

Project, que permiten la monitorización de nuestras clases Java en ejecución, y el testeo de las

mismas, todo ello orientado al ajuste y rendimiento de las aplicaciones que desarrollemos. En

fin, como estos, una cantidad de proyectos interesantisimos, y que nosotros como

programadores agradeceremos, ya que facilitan nuestra tarea como programadores.

A los que barajeís Eclipse como una opción interesante de IDE, sería bueno, que echarais un

vistazo mas comprometido al sitio eclipse.org, para estar informado de las novedades con

respecto a todos los proyectos relacionados. Además Eclipse, no se trata de un IDE tan solo

para Java, así que todo el aprendizaje que se realice sobre este IDE, será tarea avanzada,

cuando pretendamos usarlo como IDE de otras tecnologías, como html,php,xml,C,etc...

Page 19: Guia de preparación como programador Java

Con esto finalizamos el apartado dedicado a los IDE's para java. No hemos realizado una

exhaustivo analisis de ninguno de ellos, ni hemos visto las especificaciones de Eclipse, pero

para eso están todas la páginas de soporte de sus respectivos creadores y comunidades que

los mantienen.

Mi consejo, es que quien ya trabaje con un IDE compatible, lo mantenga, y quien empieza con

la necesidad de obtener un nuevo IDE, que se plantee seriamente las ventajas que puede tener

comenzar a aprender a trabajar con Eclipse, que es el que yo aconsejo.

Despues de ver la necesidad como desarrolladores Java de disponer de un IDE integrado, creo

que estamos en disposición de comenzar a programar y programar en Java, que a buen

seguro, lo estaremos haciendo de la forma correcta y como profesionales de la materia.

Seguidamente pasaremos a recapitular las anotaciones finales acerca de esta guia de redribera

2 Lo que necesitamos para empezar a programar Java.

2.5 Notas finales y comentarios del autor.

Tras finalizar de leer esta guia esperamos que realmente haya sido de utilidad para el lector.

Como os habreís dado cuenta hemos centrado esta guia en tres aspectos fundamentales:

Software necesario para programar y utilizar Java; JDK y Documentación API. Bibliografia y sitios para la formación como programador en Java IDE's para programar en Java.

Realmente no hemos realizado una explicación exhaustiva de ninguno de los apartados,

simplemente realizar una serie de comentarios y poner en conocimiento del lector estos

aspectos, por otro lado fundamentales para convertirnos en programadores Java.

La autoformación, es una práctica muy común entre los programadores de cualquier lenguaje

informático, y a veces se convierte en un verdadero quebradero de cabeza, si no tenemos un

guia adecuado, como un maestro o alguien que conozca la materia. Incluso llegamos a estudiar

o descargar software totalmente innecesario y que nos confunde todavía mucho mas. Es por

ello que he querido desarrollar esta guia, basada en las experiencias propias de uno que

intentó autoformarse en el lenguaje Java.

Tras algunos años trabajando con Java, desde luego uno se da cuenta, de que constantemente

debe estar formandose en estas tecnologías, leyendo publicaciones, asistiendo a cursos,

seminarios y leyendo libros. Además nada como nuestra propia experiencia programando y

resolviendo las dudas y errores que nos surgen dia a dia cuando desarrollamos una aplicación.

Esta experiencia no nos la puede enseñar nadie.

De todos modos, si alguien tiene un interés realmente fuerte en aprender a programar

rápidamente en Java, quizás no estaría de mas el apuntarse a algún tipo de curso on-line, o

academia. Yo no he seguido este plan de formación, pero reconozco que puede ser

interesante.

Page 20: Guia de preparación como programador Java

Creo que Java es una opción muy interesante como lenguaje de programación, para todo tipo

de aplicaciones, incluyendo proyectos de gran envergadura. Sin ir mas lejos, el IDE Eclipse,

que vimos anteriormente, está desarrollado en Java, y muchas otras aplicaciones conocidas,

como el IDE de Zend Studio. Por supuesto, siempre hay partidarios y detractores de todo, por

lo que entiendo que no todo el mundo compartirá mi opinión.

El objeto que nos mueve de haber realizado esta guia, es que en redribera, tenemos pensado

realizar una larga serie de tutoriales, orientados a la programación Java. Y que mejor forma que

empezar estos tutoriales, que con una guia, para que los lectores que pretendan seguirnos,

dispongan de un modo, a mi entender, rápido y eficaz para programar con este excelente

lenguaje de programación.

Finalmente el lector tras leer parte de la documentación que le hemos aconsejado, entenderá

que Java es una tecnología que abarca muchisimas áreas, por lo que el horizonte de

posibilidades que nos presenta como programadores, es inmenso. Podemos realizar servicios

web, juegos on-line y mas que convierten a Java en un lenguaje excelente, para el desarrollo

de tecnologías orientadas a Internet e Intranets.

Un único apunte para finalizar con esta guia, y es recordar al lector, que estaremos encantados de su participación a traves de los canales que ponemos a su disposición en redribera.

Foro de Redribera.

Le invitamos a que se registre en nuestro foro donde tenemos habilitado un foro acerca de todo

lo relacionado con los tutoriales de redribera.

Si no desea registrarse, le invitamos a que visite el foro, para conocer lo que acontece en

nuestra comunidad de usuarios.

Si lo desea puede postear en este tutorial a traves de del enlace añadir comentario, situado

en el menú izquierdo de esta misma página.

Page 21: Guia de preparación como programador Java

Sinceramente esperamos que esta guia, haya sido de su agrado.

Julio Laguna, redribera team 14 Enero de 2008.