Choose your starting point
A new service. An existing Android app. A shared stack.
Start with the part you need. The app framework works with any backend, and the native backend can run on its own.
Java services without a deployed JVM
Use Spring-style controllers, dependency injection and transactions. The build generates the wiring and compiles a native executable. Add SQL persistence, OAuth2/OIDC, migrations and OpenTelemetry as your service grows.
The backend is evolving, with its own supported APIs and libraries. It is not a drop-in Spring Boot replacement.
Build a native Java backendYour Android app on more platforms
Import classic Android Java or Kotlin code, activities, XML layouts and resources. Supported Android and AndroidX APIs run over Codename One on iOS, desktop and the web, as well as Android.
Check your dependencies and data flows against the compatibility guide. Coverage is specific to the documented APIs.
Explore Android app compatibilityKeep app and server contracts together
Share Java models and generate typed REST clients instead of maintaining a second definition of every object crossing the network. Initializr creates app-only, app-with-backend and backend-only projects.
See the shared-model example