JavaFX on embedded, using GraalVM native-image


From its inception, Java has been designed to be platform-independent. Java code written on one platform, should run on any other platform. At Gluon, we take this cross-platform behavior very seriously. Java applications developed on a desktop system should easily be deployed to, and executed on, all kinds of client systems, including laptops, mobile devices and embedded systems.

We explained before how you can use Gluon Substrate to create Java applications once, and deploy them to desktop and mobile devices. Gluon Substrate invokes the GraalVM native-image compiler, configures the compilation process, pulls in additional required resources, links with the required libraries, and creates an executable specific for the target platform. This executable is then optimized for that specific platform, and has great performance characteristics.

We are excited to announce that Gluon Substrate can now also convert your Java application into a native application for 64 bit embedded ARM systems.

There are a number of advantages for developers using Gluon Substrate on embedded devices:

  • The same Java and JavaFX API’s that are used on desktop (and mobile) can be used on embedded
  • Java has a strong track record concerning security and privacy
  • JavaFX shares the security concepts and implementations with Java, making your embedded user interface secure as well
  • With the GraalVM ahead of time compilation step, the resulting executable is remarkably small, with an amazing startup time and extreme performance

Gluon Substrate is an open-source component, developed at https://github.com/gluonhq/substrate. By default, Gluon Substrate will retrieve static builds of the libraries for JavaFX, based on the very latest code in OpenJFX. This is perfect for developers who want to push the bleeding edge. For customers of Gluon JavaFX 11 LTS support, we also offer the more stable and tested long term support JavaFX 11 distributions, along with other Gluon tools. Customers also get commercial support (including an SLA) for Gluon Substrate. Contact us for more information about commercial options.

Embedded systems (in cars, healthcare, finance,…) are getting more and more popular. With Java, it is possible to create cross-platform applications, building on top of a platform with a 25 year old track record on security, scalability, developer productivity. With JavaFX, these advantages apply to user interfaces for these embedded system as well. Thanks to Gluon Substrate and GraalVM native-image, it is now possible to create high-performant embedded (UI) applications for these devices.