Guia de preparación como programador Java
Transcript of 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
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
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.
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
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
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,
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.
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.
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.
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;
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");
}
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;
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"
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.
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).
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
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).
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...
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.
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.
Sinceramente esperamos que esta guia, haya sido de su agrado.
Julio Laguna, redribera team 14 Enero de 2008.