Gluon VM is Gluon’s solution for bringing Java to mobile in general, and to iOS in particular. Gluon VM contains an Ahead Of Time compiler (AOT) that translates Java bytecode into platform specific code, combines it with native code (that can be accessed using JNI), and bundles everything in a single executable that can be uploaded to the App Store.
Developers leverage Gluon VM by installing the Gluon Mobile plugin in their IDE.
If you want to try Gluon VM, create a new project and select the template “Single View Project on Gluon VM”, as shown in the following screenshot. The screenshot is taken using the NetBeans IDE. Both IntelliJ and Eclipse have a similar list of templates.
From that moment, the Gluon tools take care of building and deploying. At this moment, Gluon VM is only used for iOS deployment. You can of course use the same code for Android deployment. In this case, the plugin will compile your application code for the Android runtime, which is also based on OpenJDK — although there is less support for Java 9.
We’re making lots of progress on Gluon VM. Our engineers are working very hard to make Gluon VM production ready, and we realise that our communication is often behind our development. In order to fix this, we created a Gluon VM status page that contains some technical information, an overview of what is new in each release, and answers to frequently asked questions.
We are very fortunate to have more and more developers using Gluon VM, and we get more feedback that we incorporate. On average, we make 2 new releases of Gluon VM in a single week. Whenever we feel comfortable a new release is not causing regression, we update the default version of the template used by the Gluon IDE plugins.
In summary, we encourage all Java developers to create mobile apps using the Gluon Mobile plugin for their IDE. If you want to try the latest and greatest Java 9 code, you can create a project using the Gluon VM template. If you have feedback or issues, you can enter those at https://github.com/javafxports/javafxmobile-plugin/issues .