Thrust-java se realizó para usar la librería nativa de thrust creada para levantar un browser e interactuar con él. Sin embargo esta librería nativa de Thrust lleva aproximadamente un año sin actualizarse, y en el mundo de la informática eso puede implicar que en poco tiempo ocurran errores de versiones... por ejemplo de los navegadores.
Es por ello por lo que se ha sustituido la librería nativa thrust por electron. Electron es una librería que actualmente está con recientes desarrollos y una comunidad más activa que Thrust.
Electron permite desarrollar aplicaciones de escritorio multiplataforma usando Javascript y está basado en Node.js y Chromium.
http://electron.atom.io/
Como he comentado, Electron está basado en Javascript, por lo que usaremos la librería node-java que permite llamar a código de un proyecto Java desde código Javascript.
https://github.com/joeferner/node-java
Ventajas del cambio
- Librerías electron y node-java con un desarrollo más activo en la comunidad.
- Node-java permite comunicación directa entre Java y Javascript sin usar un servidor web embebido como teníamos con thrust -> Reducción de tiempo en el arranque de la aplicación.
- Existe un proyecto llamado node-java-maven desarrollado por la misma comunidad de node-java para poder usar maven desde node-java.
https://github.com/joeferner/node-java-maven
Desventajas
- Librería thrust-java no aprovechable en el proyecto.Estado actual
Se ha creado un proyecto uniendo Electron + node-java con una aplicación de ejemplo.
- Parte Java: se ha desarrollado una aplicación usando una dependencia en maven de una base de datos H2 para persistir datos en una BBDD embebida.
- Parte JS+HTML+CSS: se ha desarrollado un GUI para interactuar con la aplicación Java. Desde el GUI se llaman a los métodos de la parte Java para listar y añadir elementos que son persistidos en la BBDD H2.
Conclusión
- Se ha cambiado el core del proyecto por unas librerías con más actividad en la comunidad.
- Ahora el proyecto se basa en Node.js, Javascript y Java en lugar de C++ (Thrust), SpringBoot y Java.
- Se ha creado un ejemplo de aplicación básica y su tutorial para cualquier desarrollador.
El nuevo repositorio de la aplicación es https://github.com/DanielGarciaMandillo/electron-node-java
Hasta la próxima!
No hay comentarios:
Publicar un comentario