Gluon Launches Community Drive to Bring Java to iOS Through OpenJDK Mobile Project

For years, Java's presence on mobile devices has been synonymous with Android, while iOS remained largely inaccessible to standard JVM workloads. Now, Gluon is spearheading a community effort to change that reality through the newly launched OpenJDK Mobile project, aiming to transform OpenJDK builds into runnable iOS applications.

The Mobile Gap

While the OpenJDK Mobile project successfully compiles Java for iOS, a significant deployment gap persists. As Gluon co-founder Johan Vos noted in an OpenJDK mailing list announcement:

"There is still a significant gap between a platform-specific build of OpenJDK and a Java-based application running on that platform."

This initiative addresses that disconnect through automation and community collaboration—positioning itself as complementary rather than competitive with core OpenJDK efforts.

Automation Pipeline

The project introduces several key components:

  • GitHub Actions Automation: Scripts in the ios-tools repository automate:
    • Building libffi for iOS
    • Compiling OpenJDK for iOS targets
    • Generating Xcode frameworks from OpenJDK artifacts
  • Nightly Builds: Continuous integration detects regressions immediately
  • Artifact Availability: Pre-built components or source-based builds

"Maintainability is key," emphasizes Vos. The pipeline ensures the latest OpenJDK Mobile commits remain functional on iOS without version-specific patches.

Current Status & Roadmap

The project has cleared its first major hurdle: HelloWorld Java applications now run on physical iOS devices using the Zero interpreter. Next phases include:

  1. Performance Enhancements: Integration with Project Leyden for AOT compilation
  2. JavaFX Support: Reintroducing mobile UI capabilities without proprietary patches
  3. Library Conversion: Annotations to expose Java methods in native frameworks
  4. Android Pipeline: Replicating the iOS automation for Android (simplified by JIT support)
  5. iOS Simulator Compatibility: Critical for developer testing workflows

Why This Matters

Java's "write once, run anywhere" promise has historically stumbled on iOS. This community-driven effort could finally deliver true cross-platform parity. Crucially, Gluon rejects shortcuts:

"I don't want any mobile-specific patch in JavaFX that is not 100% understood and justified."

The approach prioritizes sustainable maintenance over quick fixes—a philosophy that could determine Java's longevity in mobile ecosystems.

The Path Forward

While resources pale compared to Java's cloud-focused investments, Vos remains optimistic:

"No miracle is needed to run Java as a first-class citizen on mobile platforms. Java was designed to do this job."

With nightly builds providing immediate feedback loops and clear documentation lowering contribution barriers, the project invites broader collaboration. As automation solidifies and JavaFX support materializes, iOS may soon join Android as a fully supported Java target—no miracles required.

Source: Johan Vos's announcement on OpenJDK mobile-dev mailing list