PÚBLICO-ALVO
Este aplicativo foi publicado para desenvolvedores seguindo o projeto WebFX e faz parte das demonstrações do projeto.
PARA NOVA AUDIÊNCIA
O WebFX é uma solução multiplataforma gratuita e de código aberto que pode atingir 7 plataformas (Web, Android, iOS, macOS, Linux, Windows e incorporar como Raspberry Pi) a partir de uma única base de código Java.
Tecnologias subjacentes: OpenJFX, Gluon e GWT.
Por exemplo, você pode visitar a versão web deste mesmo aplicativo em https://raytracer.webfx.dev
Qualquer que seja a plataforma, o código-fonte do aplicativo é exatamente o mesmo (consulte a seção LINKS abaixo para acessar o código-fonte desta demonstração).
O aplicativo é escrito em Java e usa a API JavaFX para construir a interface do usuário.
A cadeia de ferramentas Gluon (construída sobre o GraalVM) é usada para compilar o código Java do aplicativo em um aplicativo nativo para todas as plataformas, exceto a Web (isso inclui esta versão do Android).
O GWT é usado para compilar a versão da Web. Ele transpila o código Java em um código JavaScript otimizado.
Como resultado, todos os executáveis em todas as plataformas oferecem desempenho otimizado.
SOBRE ESTA DEMO ESPECÍFICA
Esta demonstração mostra um exemplo de aplicativo que não bloqueia a interface do usuário, apesar do uso intenso da CPU, e isso em qualquer plataforma (mesmo na Web).
Enquanto o aplicativo está calculando o traçado de raios, a interface do usuário ainda está reativa, você pode até reproduzir a animação computada até agora enquanto continua a computação em segundo plano.
Isso é obtido usando a API do WebFX Worker, que é convertida em Web Workers reais para a plataforma da Web e encadeamentos Java padrão para outras plataformas.
LINKS
Código-fonte da demonstração: https://github.com/webfx-demos/webfx-demo-raytracer
Site WebFX: https://webfx.dev
WebFX GitHub: https://github.com/webfx-project/webfx