Del autor

Esta serie de tutoriales está dirigida a aquellos entusiastas y curiosos del mundo de la programación que desean iniciarse con el lenguaje Java.
Los temas tratados en los documentos que componen este blog serán agregados periódicamente y en el orden adecuado para un aprendizaje organizado de los conceptos necesarios.
Los contenidos fueron seleccionados como consecuencia de mi experiencia como instructor Java, partiendo de la base de que el lector no cuenta con conocimientos previos de programación.
Los únicos requisitos para seguir este blog son: contar con una computadora personal, y saber utilizar el sistema operativo instalado, ya sea Windows o Linux; Esto es, ser capaz de instalar, desinstalar y ejecutar una aplicación, copiar, mover, eliminar, comprimir y descomprimir archivos.
Por favor, siéntase libre de hacer sus comentarios, ya que éstos me permitirán ir mejorando los contenidos.
Desde ya, estoy muy agradecido de que lea este blog.

sábado, 13 de junio de 2015

Tutorial 02 - Desarrollo de una aplicación Java con Eclipse

Se muestran los pasos que se deben seguir para desarrollar una aplicación utilizando el entorno Eclipse.


1. Entornos de desarrollo integrados
  Aunque con un editor de texto plano, como Notepad en Windows o kWrite en Linux, para editar los archivos de código fuente, y las herramientas contenidas en el JDK (mas precisamente, en el directorio "bin"), es suficiente para desarrollar una aplicación Java, los entornos de desarrollo integrados facilitan las tareas del programador, poniéndole al alcance de unos pocos clics las tareas habituales, evitándole tener que conocer el uso de esas herramientas del JDK en forma detallada.
  Los entornos de desarrollo integrados (IDE) organizan las aplicaciones en proyectos. Cada IDE, (Eclipse, NetBeans u otros,) tiene su propia forma de administrar los proyectos, y por lo tanto, un proyecto NetBeans no puede ser utilizado en Eclipse.
  Las bondades de cada IDE, en mi opinión, son similares, y por lo general la determinación del que se utilizará pasa por la decisión de todos los que participan en el proyecto. No es posible trabajar en un proyecto desde IDEs diferentes, por los conceptos mencionados anteriormente.
  Mi recomendación para el aprendiz que está comenzando su estudio de Java, es que pruebe NetBeans y Eclipse, al menos con una aplicación, y luego elija el IDE que le resultó más agradable.
Nota: Si bien un proyecto creado con Eclipse puede ser importado por NetBeans para su utilización, un proyecto NetBeans no puede importarse en Eclipse.

2. Desarrollo de la primera aplicación con Eclipse
  Cuando se inicia Eclipse, se muestra un cuadro de diálogo pidiendo la ubicación del espacio de trabajo (workspace en inglés). Esto es, el directorio donde Eclipse ubicará los proyectos a desarrollar.
  Nota: Las imágenes mostradas corresponden a Eclipse version Luna Service Release 2 (4.4.2).



  El botón de "Browse...", permite navegar hasta el directorio deseado.
  Haciendo clic en el botón "OK" comienza la aplicación Eclipse, mostrando una interface de usuario como la siguiente (, únicamente cuando se inicia por primera vez):



  Los enlaces que presenta esta ventana de bienvenida son útiles. En particular, el de "Tutorials" puede ayudar con algún tipo de proyecto que no se utiliza habitualmente.
  Para comenzar con el desarrollo de la primera aplicación se debe seleccionar "Workbench" (banco de trabajo, en español), en el ángulo superior derecho.
  En el workbench entonces, se abre una perspectiva:



  Una perspectiva, en Eclipse, es una disposición particular de las distintas herramientas en el banco de trabajo. Diferentes tipos de proyectos requieren diferentes herramientas, y por lo tanto, Eclipse dispone de varias perspectivas asociadas cada una a un tipo de proyecto en particular. Si el Eclipse instalado es "Java IDE for Java EE Developers", se abrirá la perspectiva "Java EE" (que se puede ver seleccionada a la derecha, en la barra de herramientas).
  Para crear un proyecto, seleccionando en la barra de menús "File -> New -> Project..." se abre el siguiente cuadro de diálogo para elegir un asistente:



  Para crear un proyecto Java de escritorio, como los que se utilizarán en esta serie de tutoriales, se debe elegir "Java Project" (la primera entrada en el cuadro de selección) y hacer clic en el botón "Next >".
  En el siguiente paso, el asistente pide un nombre para el proyecto ("Project Name"), el cual he completado con "PrimerProyecto" (sin espacios ni caracteres especiales y únicamente por costumbre, en notación camélida):



  El nombre del proyecto será el directorio dentro del espacio de trabajo (workspace) que contendrá todos los archivos del proyecto.
  Las otras decisiones en este paso del asistente no necesitan modificación.
  "Use default location", ubica el proyecto dentro del directorio del workspace.
  La siguiente sección en este paso del asistente permite seleccionar la versión del ambiente de ejecución (JRE) que utilizará el proyecto. Esto se debe a que podría haber varias versiones del JRE instaladas a disposición de Eclipse.
  "Project layout" indica cómo se organizarán los archivos dentro del proyecto.
  "Working sets" es una organización adicional para agrupar los proyectos dentro del espacio de trabajo.
  Nuevamente, sólo es necesario completar el nombre del proyecto, y hacer clic en el botón "Next >".
  En el próximo paso del asistente, se pueden cambiar distintas configuraciones del proyecto:



  Por ejemplo, se puede cambiar el directorio para el código  fuente ("src" por defecto) y el de los archivos compilados del proyecto ("bin" por defecto), en la solapa "Source". Se pueden administrar las dependencias de otros proyectos desde la solapa "Projects". Se pueden agregar librerías desde la solapa "Libraries". Y se puede controlar el orden de construcción del proyecto y su exportación desde la solapa "Order and Export" de este paso del asistente de creación del nuevo proyecto.
  Por el momento, es conveniente dejar todos los valores de configuración por defecto y hacer clic en el botón "Finish".
  Seguramente esta acción provocará que se muestre una caja de diálogo que presenta la opción para cambiar de perspectiva:



  Esto sucede porque el tipo de proyecto que se eligió (Java Project), es asociado con una disposición de herramientas mas apropiada que la perspectiva actualmente abierta, "Java EE", en el banco de trabajo (workbench).
  La elección aquí es cuestión de gustos y que herramientas el programador está acostumbrado a utilizar. En lo personal, prefiero seguir utilizando la perspectiva "Java EE", por lo cual recomiendo hacer clic en el botón "No". De todas formas, la perspectiva utilizada en el workbench puede cambiarse en cualquier momento. También, pueden agregarse otras herramientas que se necesiten al workbench e incluso puede personalizarse las herramientas que tiene cada perspectiva.
  Finalizado el asistente, Eclipse presenta el proyecto con su organización lógica en el "Project Explorer", en la sección izquierda de la perspectiva:



Obsérvese la estructura lógica del proyecto: En la vista de "Project Explorer" se muestran dos elementos: "src" utilizado como directorio para el código fuente y "JRE System Library" que son las librerías del ambiente de ejecución disponibles para este proyecto.
  Esta vista de "Project Explorer" no es representativa de cómo el proyecto está organizado en el sistema de archivos (el disco duro, o el pen drive). Incluso, si se abriera una vista diferente, como por ejemplo "Navigator" (en la barra de menús seleccionando "Window -> Show View -> Navigator"), se mostraría una organización lógica distinta para el proyecto, pero siempre manteniendo la misma estructura en el sistema de archivos.
  Habiendo creado la estructura del proyecto, es tiempo de crear la propia aplicación.
  Para crear el paquete (package) que contendrá la clase en el archivo de código fuente, puede hacerse clic derecho en el nombre del proyecto ("PrimerProyecto") o en el directorio lógico "src" del "Project Explorer", y seleccionar "New" y luego "Package".
  En consecuencia se abre el siguiente cuadro de diálogo:



  el que fue completado en el cuadro de texto "Name", con el nombre elegido según se comentó en el Tutorial 1. En este caso se estableció "ar.com.adriancordoba.app.console.primerproyecto" como nombre del paquete.
  Haciendo clic en el botón "Finish", el paquete es creado y se muestra en el "Project Explorer" como en la siguiente figura:



  Para crear un archivo de código fuente para una clase dentro de un paquete, puede hacer clic derecho en el nombre del paquete en el "Project Explorer", seleccionar "New" y entonces "Class", para abrir la siguiente caja de diálogo:



  Puede observarse que el cuadro de texto "Package" fue automáticamente completado por el asistente de creación de clases. En cambio se completó manualmente el nombre de la clase, en este caso "Programa", en el cuadro "Name", siguiendo las recomendaciones del Tutorial 1: notación camélida para el nombre de las clases.
  También se agregó un tilde en el cuadro de comprobación "public static void main(String[] args)" y otro en "Generate comments". Este último tilde provoca que cuando sea creada la clase por el asistente, se agreguen comentarios para todos los elementos incluidos. (Este tema será tratado en tutoriales siguientes.)
  Por otro lado, el tilde en "public static void main(String[] args)" instruye al asistente para que incluya un método con ese encabezado dentro de la clase.
  Con clic en el botón "Finish", el asistente crea la clase "Programa".

3. El método main()

  Un método es un conjunto de sentencias que está definido con un nombre. Una invocación a ese nombre, provoca la ejecución del conjunto de sentencias en el orden definido.
  Sin entrar en demasiados detalles por el momento, un método se define por un encabezado compuesto por uno o mas calificadores, un tipo, un nombre identificador y entre paréntesis, una lista de parámetros, separados por comas (,) entre sí. (Esta lista de parámetros puede estar vacía.)
  También debe incluir siguiendo al encabezado, entre llaves ({ y }), la secuencia de sentencias a ejecutar. (Un conjunto de sentencias encerrado entre llaves se denomina "bloque de sentencias".)
  Como buena práctica de programación Java, se recomienda utilizar notación camélida  comenzando con una letra minúscula. Así, si se quisiera nombrar a un método como "obtenerResultado", la primera letra (o) es minúscula y el resto de las letras que comienzan cada palabra del nombre compuesto, son mayúsculas; en este caso "R".
  El método main() que ofece crear el asistente, es muy especial: Es el método por el cual se comienza a ejecutar la aplicación.
  Toda aplicación Java de escritorio, o lo que es lo mismo Java SE (por "Standard Edition"), debe incluir un método main() con el encabezado:

public static void main(String[] args)
  Cuando la Máquina Virtual de Java (JVM) ejecute la aplicación, buscará el método main() en la clase del archivo compilado, y comenzará a ejecutarlo secuencialmente, sentencia por sentencia, hasta llegar a la llave de cierre (}) de dicho método. Alcanzado el final del método main(), la JVM termina la aplicación.

  Terminado el asistente de creación de clase, Eclipse muestra en el paño central, el código fuente creado:



  Eclipse muestra una pestaña con el nombre del archivo de código fuente: "Programa.java". En el editor de texto puede apreciarse la declaración de paquete, en primer lugar:

package ar.com.adriancordoba.app.console.primerproyecto;
  (Eclipse colorea los comentarios de documentación en celeste y los comentarios comunes en verde,  por defecto. Como los comentarios son ignorados por el compilador, la declaración package es la primera del archivo de código fuente.)
  A continuación puede verse la declaración de clase:

public class Programa {
....
}
  (Los grupos de dos o más espacios en blanco, así como las líneas en blanco son también ignorados por el compilador. Así, "public class" y "   public        class" significan exactamente lo mismo para el compilador.)
  También puede observarse, totalmente contenido entre las llaves de la declaración de la clase, al método main():


public static void main(String[] args) {

        // TODO Auto-generated method stub



}

  (Lo que se encuentra entre las llaves del método es un comentario común y no será tenido en cuenta por parte del compilador.)
  Hasta aquí, ya se creó una aplicación completa Java de escritorio. Aunque no hace absolutamente nada ya que su método main() está vacío, se puede compilar y ejecutar perfectamente.
  Si se selecciona el nombre del proyecto en el "Project Explorer" y se presiona en el botón "Run" en la barra de herramientas
el proyecto se ejecutará dentro de Eclipse.
  Como la aplicación no ejecuta ninguna sentencia, no se modifica nada en la vista del IDE.

4. Agregando una sentencia
  Una sentencia en Java, es una expresión válida para el compilador, terminada en punto y coma (;). Es la mínima porción de código que el compilador puede entender.
  Para darle un poco de sentido a la primera aplicación que se creó, se agregará una sentencia que imprime en consola una cadena de caracteres que recibe como parámetro entre comillas dobles ("), dentro de los paréntesis. Esa sentencia es
System.out.println("Primera aplicación Java.");
  Por lo explicado hasta el momento, esta sentencia debe ser escrita tal cual es mostrada, respetando mayúsculas y minúsculas, y debe estar ubicada entre las llaves que definen al método, con lo que el código fuente quedará de la siguiente manera:



  Eclipse, como otros IDEs actuales, utiliza compilación automática si no se cambian las preferencias por defecto. Esto significa, que la aplicación se va compilando a medida que se introduce código fuente, o se cambia alguna característica del proyecto, como cuando se agregan o quitan librerías. Por esa razón, el código fuente es subrayado en línea punteada roja mientras no se haya completado la sentencia (válida) con el punto y coma final.
  Luego de haber introducido el código fuente, sin ningún error reportado por Eclipse (con marcas rojas). se deben guardar los cambios con el botón "Save" de la barra de herramientas


  En este punto, ya es posible ejecutar el proyecto con las modificaciones efectuadas dentro de Eclipse. Como se mencionó anteriormente, seleccionando el nombre del proyecto en el "Project Explorer" y presionando en el botón "Run" de la barra de herramientas, se ejecuta la aplicación del proyecto.
  Esta vez, Eclipse abre una consola (solapa "Console") en la sección inferior del workbench, donde se muestra el resultado de la aplicación: la impresión de la cadena de caracteres "Primera aplicación Java.".



  El archivo comprimido del proyecto desarrollado puede obtenerse en el siguiente enlace: PrimerProyecto.zip.



No hay comentarios.:

Publicar un comentario