Articles about various software and aviation topics. The software articles are mostly related to Java, JavaFX and GraalVM/Native-image as well as Kotlin and Jetpack Compose. The aviation topics are about using the software in the air.

Note

Scroll down for the latest articles.

1. Software

1.1. Building native, AOT compiled, real-world JavaFX applications

A summary of my lessons learned converting an existing JavaFX application to a native, AOT compiled, real-world application using the Gluon Client Maven plugin which is based on the GraalVM native-image toolchain.

1.2. Bundling real-world JavaFX applications

A summary of my lessons learned bundling real-world JavaFX application with various different techniques.

1.3. JavaFX on Android

A summary of my lessons learned building a first, still simple, pure JavaFX Android application based on the components of an already existing JavaFX application using the Gluon Client Maven plugin which is based on the GraalVM native-image toolchain.

1.4. Shipping a Kotlin Compose Multiplatform app as a PWA: getting updates and caching right

The Kotlin multiplatform wasmJs target runs in the browser as an ordinary web app. You can serve the static files the build produces and you’re done: open a URL, the app loads. No service worker, no manifest, nothing special. You can, however, go one step further and package that same output as a Progressive Web App (PWA). This article shows how to get that right.

1.5. What the browser takes away: the platform limits of Compose Multiplatform on wasmJs

Kotlin Compose Multiplatform runs one UI codebase on desktop (JVM), Android, iOS and the web (wasmJs). The first three targets are all processes on an operating system, and they differ from each other in degree. The web differs in kind. Code written for the other targets rests on assumptions that were never written down because they had always been true: that threads exist, that there is a filesystem, and that the process controls its own lifetime.

This article sets out what those assumptions are and where the web breaks them. It concerns the canvas-rendered wasmJs target, which runs the same Compose UI code as the desktop and mobile builds. It does not cover Compose HTML, the DOM-based library for conventional web pages.

2. Aviation

2.1. Flight testing standard mobile cellular phone network technology in the lower airspace

Flight test on 24.10.2021 in Hermuthausen to investigate the performance of standard mobile cellular phone network technology in the lower airspace.