Codename One takes Java from your UI to your server, compiled to native code. Share models and typed APIs across the full stack, control the UI you ship, and deploy your server without a JVM. Target iOS, Android, desktop, watch and TV, with a JavaScript port for the web. Published benchmarks below compare runtime performance with HotSpot, Spring and Go.
The UI ships with your app, so you control its components and theme. Native interfaces and peer components give you access to platform SDKs and views. The framework is GPLv2 with the Classpath Exception: free for commercial applications, with no royalties.
Generate a complete application from Initializr, then make it your own. These templates include the Java client, backend, database and administration screens, with guides for running and customizing them. The template source is free under MIT-0.
| Savor — Food delivery | Parley — Private messaging |
|---|---|
![]() Customer, restaurant, courier and admin screens, with a Java backend for ordering, dispatch, tracking and payments. |
![]() Chats, groups, voice and video calls, with a Java backend and an administration console. |
| Wayline — Ride hailing | Skirmish — Multiplayer strategy |
|---|---|
![]() Rider, driver and admin screens, with a Java backend for matching, live trips, earnings and payments. |
![]() Online battles, replays and progression, with a Java game server and a moderation console. |
Generate your application · Explore the complete templates
| What do you want to build? | Start here |
|---|---|
| A new Java app | Generate a project or try the browser playground |
| A native Java service | Build a backend with Spring-style APIs and no JVM in the deployed executable |
| An app and its backend | Share models and generated REST clients |
| An existing Android app on more platforms | Import classic Android application code, including activities, XML layouts and resources |
| Existing Flutter screens | Compile supported Dart and Flutter code to Java |



