ZIELGRUPPE
Diese App wurde für Entwickler nach dem WebFX-Projekt veröffentlicht und ist Teil der Projektdemos.
FÜR NEUES PUBLIKUM
WebFX ist eine kostenlose, plattformübergreifende Open-Source-Lösung, die 7 Plattformen (Web, Android, iOS, macOS, Linux, Windows und Embed wie Raspberry Pi) von einer einzigen Java-Codebasis aus ansprechen kann.
Zugrunde liegende Technologien: OpenJFX, Gluon & GWT.
Sie können beispielsweise die Webversion derselben App unter https://raytracer.webfx.dev besuchen
Unabhängig von der Plattform ist der Quellcode der Anwendung genau derselbe (siehe den Abschnitt LINKS unten, um auf den Quellcode dieser Demo zuzugreifen).
Die Anwendung ist in Java geschrieben und verwendet die JavaFX-API zum Erstellen der Benutzeroberfläche.
Die Gluon-Toolchain (aufgebaut auf GraalVM) wird verwendet, um den Anwendungs-Java-Code in eine native App für alle Plattformen außer dem Web zu kompilieren (dies schließt also diese Android-Version ein).
GWT wird verwendet, um die Webversion zu kompilieren. Es transpiliert den Java-Code in einen optimierten JavaScript-Code.
Als Ergebnis bieten alle ausführbaren Dateien auf allen Plattformen eine optimierte Leistung.
ÜBER DIESE SPEZIELLE DEMO
Diese Demo zeigt ein Beispiel einer App, die die Benutzeroberfläche trotz starker CPU-Auslastung nicht blockiert, und dies auf jeder Plattform (auch im Web).
Während die Anwendung das Raytracing berechnet, ist die Benutzeroberfläche immer noch reaktiv, Sie können sogar die bisher berechnete Animation abspielen, während sie die Berechnung im Hintergrund fortsetzt.
Dies wird durch die Verwendung der WebFX Worker-API erreicht, die in tatsächliche Web Worker für die Webplattform und Standard-Java-Threads für andere Plattformen übersetzt wird.
LINKS
Demo-Quellcode: https://github.com/webfx-demos/webfx-demo-raytracer
WebFX-Website: https://webfx.dev
WebFX-GitHub: https://github.com/webfx-project/webfx