PÚBLICO OBJETIVO
Esta aplicación se ha publicado para los desarrolladores que siguen el proyecto WebFX y forma parte de las demostraciones del proyecto.
PARA NUEVA AUDIENCIA
WebFX es una solución multiplataforma de código abierto y gratuita que puede apuntar a 7 plataformas (Web, Android, iOS, macOS, Linux, Windows e incrustadas como Raspberry Pi) desde una sola base de código Java.
Tecnologías subyacentes: OpenJFX, Gluon y GWT.
Por ejemplo, puede visitar la versión web de esta misma aplicación en https://raytracer.webfx.dev
Sea cual sea la plataforma, el código fuente de la aplicación es exactamente el mismo (consulte la sección ENLACES a continuación para acceder al código fuente de esta demostración).
La aplicación está escrita en Java y utiliza la API de JavaFX para crear la interfaz de usuario.
La cadena de herramientas Gluon (construida sobre GraalVM) se usa para compilar el código Java de la aplicación en una aplicación nativa para todas las plataformas excepto la Web (esto incluye esta versión de Android).
GWT se utiliza para compilar la versión web. Transpila el código Java en un código JavaScript optimizado.
Como resultado, todos los ejecutables en todas las plataformas ofrecen un rendimiento optimizado.
ACERCA DE ESTA DEMO EN PARTICULAR
Esta demostración muestra un ejemplo de una aplicación que no bloquea la interfaz de usuario a pesar de un uso intensivo de la CPU, y esto en cualquier plataforma (incluso en la Web).
Mientras la aplicación calcula el trazado de rayos, la interfaz de usuario aún es reactiva, incluso puede reproducir la animación calculada hasta ahora mientras continúa el cálculo en segundo plano.
Esto se logra mediante el uso de WebFX Worker API, que se traduce a Web Workers reales para la plataforma web y subprocesos Java estándar para otras plataformas.
ENLACES
Código fuente de demostración: https://github.com/webfx-demos/webfx-demo-raytracer
Sitio web de WebFX: https://webfx.dev
WebFX GitHub: https://github.com/webfx-project/webfx