Imprimir

Introducción a la programación en Java

A través de esta serie de artículos podrás conocer el lenguaje de programación Java desarrollando una versión de la aplicación Pong, uno de los primeros videojuegos que existieron dado que fue creado en el año 1972. Aprovecharemos las ventajas que ofrece el desarrollo de videojuegos para iniciarte en la programación de aplicaciones, ya que permite conocer distintos aspectos básicos de cualquier lenguaje de programación.

Lenguaje Java

El lenguaje de programación Java está muy extendido ya que permite el desarrollo de una gran variedad de tipos de aplicaciones (multipropósito) e incluso para diversos sistemas (multiplataforma) como Windows, Mac, Linux, empotrado en sistemas integrados como electrodomésticos, y más actualmente, en dispositivos móviles como Android.

JavaFX

Aunque el núcleo de estas aplicaciones se desarrollan usando el lenguaje de programación Java, es necesario conocer otros complementos (librerías, frameworks, etc) del lenguaje Java que permitan desarrollar aplicaciones que usen características más específicas de cada plataforma. Por ejemplo, no es lo mismo desarrollar una aplicación para un frigorífico que para un móvil Android, aunque puede que el núcleo de la lógica de la aplicación sea el mismo (la manera de programar una suma de 2 + 2 será igual para ambos sistemas, pero la manera de presentar la información será diferente).

En nuestro caso, vamos a necesitar conocer alguna librería complementaria de Java que nos permita el desarrollo de aplicaciones con entornos gráficos para poder mostrar los elementos del juego en pantallas gráficas como la de los PC. Las librerías Java que permiten el desarrollo de aplicaciones con entornos gráficos son bastante diversas, y cada una con sus diferencias, pero conociendo alguna de ellas podrás aprender rápidamente otra si tuvieras la necesidad. Las librerías gráficas "oficiales" han ido históricamente desde AWT (1995), Swing (1997) y la más reciente JavaFX (2008). Además JavaFX tiene la gran ventaja de permitir el desarrollo de aplicaciones para dispositivos móviles, mientras que las anteriores librerías gráficas no lo permitían. Así que desarrollaremos nuestro juego Pong usando Java como lenguaje de programación para desarrollar la parte lógica y el complemento ofrecido por JavaFX para presentar la información en pantalla.

JRE y JDK

Para poder desarrollar una aplicación en Java necesitarás una herramienta que realice la compilación (conversión o traducción) del código fuente Java, en un lenguaje comprensible por el ordenador o dispositivo donde se desee ejecutar la aplicación. Hay que recordar que los sistemas informáticos sólo reconocen las aplicaciones en lenguaje máquina (binario). Además cada sistema tiene su propio lenguaje máquina, es decir, Windows, Linux, macOS, videoconsolas, Android ... cada uno tiene su propio lenguaje máquina y por eso no se puede ejecutar un juego compilado para una Xbox en una PlayStation.

Pero las aplicaciones Java pueden ser multiplataforma (si no se utilizan librerías o complementos exclusivos para determinados sistemas), por lo que se necesita un componente intermedio que haga de puente entre el código Java escrito por el programador y el código máquina del sistema. Esta herramienta es el JRE (Java Runtime Environment) o máquina virtual Java.

JRE 383c0

Por tanto si el usuario desea ejecutar una aplicación Java, deberá tener instalado previamente en el sistema la máquina virtual de Java (lo que generalmente se conoce como tener instalado Java). Para ello el usuario simplemente deberá entrar en la web de Java (www.java.com) y descargar la versión de Java correspondiente al sistema que tenga el usuario en su dispositivo. En tu caso como programador no necesitarás descargarlo, aunque seguramente en tu equipo ya se encuentre instalado Java porque alguna otra aplicación lo haya requerido anteriormente.

Screen Shot 2018 01 08 at 20.34.49 c1210

Pero tú como desarrollador de aplicaciones Java necesitarás otra herramienta que te permita complilar la aplicación que hayas escrito en código fuente Java. Esa herramienta es el JDK (Java Development Kit). Esa herramienta, como indica su nombre, es un conjunto o kit de utilidades para el desarrollo de aplicaciones Java. Una de esas utilidades es el compilador java (javac), que permite tomar una aplicación que hayas escrito en código fuente Java y traducirla en una aplicación Java compilada para que pueda ser ejecutada posteriormente por el usuario (recuerda que el código fuente Java no puede ser ejecutado).

Otra de las herramientas que se encuentran dentro de este kit es la máquina virtual de Java que se ha comentado anteriormente, por lo que cuando instales JDK también tendrás disponible JRE para ejecutar las aplicaciones Java.

Los archivos correspondientes a aplicaciones Java de escritorio (Windows y similares) compiladas suelen tener la extensión .jar, mientras que los archivos que contienen código fuente Java tienen la extensión .java.

JRE y JDK 8744a

Para instalar el JDK descárgalo desde la página de descargas Java de Oracle (http://www.oracle.com/technetwork/java/javase/downloads/index.html) donde podrás ver que hay distintas versiones (JDK 9, JDK 8, etc). En el momento de escribir este artículo Java 9 es muy reciente (Java SE 9.0.1), por lo que descarga el JDK correspondiente a la versión 8 para asegurar la compatibilidad con otras herramientas que se utilicen. Por ejemplo, Java SE 8u152 (que corresponde a la actualización 152 del JDK para Java 8), o la más moderna que encuentres en este momento.

Screen Shot 2018 01 08 at 21.31.48 be704

En la siguiente página podrás encontrar distintas versiones del JDK según el sistema donde se desee instalar. Acepta los términos de la licencia y utiliza el enlace para descargar la versión correspondiente a tu sistema.

Screen Shot 2018 01 08 at 21.34.01 27788

 

Entorno de desarrollo NetBeans

Para desarrollar una aplicación Java se podría usar algo tan sencillo como un editor de textos básico como el bloc de notas de Windows, y realizar luego la compilación desde el terminal realizando una llamada al compilador de Java por comandos.

Con el fin de que el desarrollo de aplicaciones sea más sencillo se suelen utilizar entornos de desarrollo que hacen más sencilla la escritura del código fuente y la compilación de la aplicación. Para Java puedes utilizar entornos de desarrollo como NetBeans, EclipseIntelliJ IDEA, etc. En este tutorial se va a utilizar NetBeans por ser un entorno fácil de configurar para el desarrollo Java y que es mantenido por Oracle, que es la empresa que también mantiene Java actualmente.

Accede a su página de descargas (https://netbeans.org/downloads/) donde podrás encontrar distintos perfiles de este entorno de desarrollo. Para este tutorial puedes descargar la correspondiente a Java SE que incorpora los componentes que vamos a utilizar. Recomiendo que utilices la versión en Inglés ya que es el idioma más extendido entre los programadores y así te acostumbras a los términos utilizados.

Screen Shot 2018 01 08 at 21.52.55 82229

Realiza la instalación del paquete descargado y al abrir la aplicación aparecerá una ventana de inicio con algunas demos y tutoriales que puedes cerrar, e incluso indicar que no se abra más al iniciar NetBeans si desmarcas la opción Show On Startup

Screen Shot 2018 01 08 at 22.00.34 9fcaf

Creación del proyecto

(NOTA: Las capturas de pantalla y opciones de menú corresponden a NetBeans 12.2)

Para crear el nuevo proyecto que vas a desarrollar, utiliza el menú File > New Project o el icono correspondiente de la barra de herramientas. Selecciona la categoría Java with Maven, y dentro de ella la opción Simple JavaFX Maven Archetype (Gluon), ya que vamos a utilizar ese sistema gráfico (JavaFX) en esta aplicación.

Captura de pantalla 2021 01 12 a las 13.56.20 92175

Es posible que en la siguiente pantalla te solicite descargar una serie de paquetes si es la primera vez que utilizas este tipo de proyectos. Descarga los paquetes que aparezcan (Download and Activate...) seleccionándolos previamente, y pasa a la siguiente pantalla.

Captura de pantalla 2021 01 12 a las 14.01.43 60cae

En la siguiente ventana indica los siguientes valores:

Captura de pantalla 2021 01 12 a las 14.06.55 1ef79

Al finalizar se creará el contenido inicial del proyecto, con la estructura del proyecto en la parte izquierda. Despliega el árbol del proyecto para mostrar el contenido de la carpeta Source Packages, y abre el archivo App.java que encontrarás dentro del paquete que se ha creado para este proyecto.

Captura de pantalla 2021 01 12 a las 14.17.22 30b8c

Puedes ver que el archivo App.java se crea automáticamente con un código fuente incluido. No te preocupes de momento en exceso en comprender su contenido, porque poco a poco irás conociendo algo de él.

De momento puedes probar ya a ver cuál es el resultado que produce la aplicación ahora mismo si se ejecuta. Para ejecutarla desde el propio entorno de desarrollo NetBeans, utiliza la opción del menú Run > Run Project o el icono o la tecla de acceso rápido correspondiente.

Captura de pantalla 2021 01 12 a las 14.30.36 9dcb4

Puedes ver que se muestra una ventana con un texto donde se muestra un texto de bienvenida junto con el número de versión de la librería gráfica JavaFX y de Java.

Consola de salida (output)

Esa consola es importante que la tengas en cuenta porque en ella aparecerán mensajes ofrecidos por la aplicación que se desarrolle, y también mensajes del compilador que pueden informar de errores que hayas cometido al escribir el código fuente. Recuerda que el código fuente debe cumplir una serie de reglas impuestas por el lenguaje de programación, y en caso de no cumplirlas no puede ser compilada la aplicación hasta que se resuelva el error.

Screen Shot 2018 01 08 at 22.32.27 d6575

Por ejemplo, prueba a quitar el carácter punto y coma que aparece al final de alguna de las sentencias que aparecen en el código. Observa que en el editor aparecerá marcada en rojo esa línea indicando el error. Si colocas el ratón sobre el icono rojo de error aparece un mensaje emergente con el error detectado. Además si intentas recompilar la aplicación (Usa la opción de menú Run > Clean and Build Project, o el icono correspondiente), aparecerá el mensaje de error del compilador en la ventana Output, indicando el tipo de error encontrado, en qué archivo y en qué línea (App.java: 21). Esos mensajes de Output son enlaces, por lo que si haces clic en él te llevará a la línea donde se ha detectado el error.

Screenshot 2021 01 12 at 20.32.44 ebaf3

 

Recuerda que todas las sentencias de código Java deben terminar en punto y coma.