¿Recuerdas cuando te dije que iba a comenzar con retos de programación, y que el primero iba a ser un navegador web? Pues ya lo tengo listo... aunque no en cinco días consecutivos. Estuve hasta arriba de trabajo, pero conseguí hacer hueco para encontrar esos cinco días de reto, y aquí tienes el resultado.
Introducción
Descripción del proyecto
La idea de este reto consistía en realizar un navegador web sencillo, en Java, con una interfaz realizada en JavaFX. El funcionamiento del navegador es el siguiente:
Además, existen dos botones para desplazarse hacia atrás y hacia delante en el historial, así como una barra de progreso en el borde inferior (desaparece una vez que la página está abierta).
Resultado del proyecto
El navegador funciona, pero con ciertas limitaciones. Al estar desprovisto de memoria, cada vez que lo abras tendrás que introducir tus datos personales si quieres acceder a un servicio. Además, la versión de las webs que se muestra es en ocasiones anticuada, lo cual, en principio, no tiene por qué ser un problema.
Hoy mismo comienzo a practicar mis conocimientos en #Java con BerenWeb, un sencillo proyecto de navegador #yoaprendojava
Características del proyecto
Herramientas utilizadas
Editor de diagramas de flujo
yEd es una herramienta muy poderosa para realizar diagramas de flujo, que es el primer paso en cualquier proyecto de programación. Antes de empezar a escribir código, tienes que tener una idea muy clara de la estructura de la aplicación que vas a desarrollar.
IDE
A la hora de programar, he optado por mis dos herramientas favoritas: IntelliJ IDEA para redactar el código y Gluon SceneBuilder para construir la interfaz.
Sistema de control de versiones
El sistema de control de versiones que he utilizado ha sido git, sincronizado con mi repositorio en GitHub.
Librerías
Aparte de las librerías nativas de Java y JavaFX, he utilizado JFoeniX, una librería que sigue las directrices del material design, y Apache Commons Validator, para comprobar si el texto introducido en la barra de direcciones es una URL válida o no.
¿Qué he aprendido?
Lo más importante que he aprendido en este proyecto ha sido que es mejor crear un proyecto sencillo e ir complicándolo de manera paulatina, resolviendo un problema tras otro, sin querer hacer una aplicación perfecta a la primera. Una vez que el botón de Abrir funciona, pasar a implementar los botones del historial. Y así, una cosa cada vez.
En el aspecto técnico, aparte de las características concretas de este proyecto (como el utilizar un WebView para abrir páginas web), he ejercitado dos habilidades:
¿Quieres participar en este proyecto?
Si estás aprendiendo a programar en Java, este proyecto puede ayudarte a desenvolverte con código ajeno y resolver problemas. De entrada, te doy dos propuestas que puedes resolver:
¡Ánimo! Ya sabes que la mejor manera de aprender es practicar. ¡Juega cuanto quieras con este proyecto e introdúcele todas las modificaciones que desees!