MÅLGRUPPE
Denne appen har blitt publisert for utviklere som følger WebFX-prosjektet, og er en del av prosjektdemoene.
FOR NYTT PUBLIKUM
WebFX er en gratis, åpen kildekode-løsning på tvers av plattformer som kan målrettes mot 7 plattformer (Web, Android, iOS, macOS, Linux, Windows og embed som Raspberry Pi) fra en enkelt Java-kodebase.
Underliggende teknologier: OpenJFX, Gluon & GWT.
Du kan for eksempel besøke nettversjonen av denne samme appen på https://mandelbrot.webfx.dev
Uansett plattform, er applikasjonens kildekode nøyaktig den samme (se LINKER-delen nedenfor for å få tilgang til kildekoden til denne demoen).
Applikasjonen er skrevet i Java og bruker JavaFX API for å bygge brukergrensesnittet.
Gluon-verktøykjeden (bygget på toppen av GraalVM) brukes til å kompilere applikasjonens Java-kode til en innebygd app for alle plattformer bortsett fra nettet (så dette inkluderer denne Android-versjonen).
GWT brukes til å kompilere webversjonen. Den transpilerer Java-koden til en optimalisert JavaScript-kode.
Som et resultat tilbyr alle kjørbare filer på alle plattformer optimalisert ytelse.
OM DENNE DEMOEN
Denne demoen ligner på Ray tracer-demoen, men i tillegg utnytter den WebAssembly på nettplattformen.
Som for Ray-traceren, viser Mandelbrot-demoen et eksempel på en app som ikke blokkerer brukergrensesnittet til tross for mye CPU-bruk, og dette på hvilken som helst plattform (selv på nettet).
Mens applikasjonen gjør beregninger, er brukergrensesnittet fortsatt reaktivt, du kan til og med spille av animasjonen som er beregnet så langt mens den fortsetter beregningen i bakgrunnen.
Dette oppnås ved å bruke WebFX Worker API og WebAssembly API, som er oversatt til faktiske Web Workers for webplattformen, og standard Java-tråder for andre plattformer.
Når WebAssembly støttes (kun webplattform), utføres beregningen ved hjelp av WebAssembly.
LENKER
Demokildekode: https://github.com/webfx-demos/webfx-demo-mandelbrot
WebFX-nettsted: https://webfx.dev
WebFX GitHub: https://github.com/webfx-project/webfx