Open Source & Free  

  Write Once, Run Anywhere

Make Your Java Kotlin Code Native Everywhere!

An open-source mobile first toolkit for building high quality, cross-platform native apps for Android, iOS, Desktop & Web.

Trusted by 40k+ developers

Codename One - Hero illustration

Write Once  

Run Anywhere  

One Codebase, Multiple Apps

Rapid cross-platform app development using Java or Kotlin with 100% code reuse. Apps are compiled down to native code for maximum performance and a smooth user experience.

Developer-friendly Tooling

Write, debug, and test apps all inside your IDE (IntelliJ, Eclipse, VSCode or NetBeans) using the Codename One simulator. One click for app-store ready device builds, without the headache of maintaining native SDKs.

Pixel Perfect Design

Build beautiful UI with Codename One’s rich set of widgets, specifically designed for mobile apps. Native look and feel out of the box, but fully themeable using CSS to provide your own unique look.

Why Codename One?

Native Performance

Compiles Java or Kotlin into native code for iOS, UWP (Universal Windows Platform), Android and even JavaScript (with seamless PWA and Thread support)

Extensible

Easily extendable with a rich ecosystem of native and generic add-on libraries/plugins (cn1libs) developed both by Codename One and the community.

Hot Reload

Changes you make in your Java/Kotlin source code will be applied immediately to your already-running app in the simulator.

CSS Live Update

When you make changes to your app’s CSS stylesheet, the changes are reflected instantly in the simulator. This includes changing your theme, images, fonts etc.

Established & Mature

~180M apps installed across platforms and ~40k Developers. Version 1.0 was released in 2012. It was the first solution to build native iPhone apps in Java.

Free & Open Source

The core of Codename One is free and open source. GPL + CE licensed so it is free to use with commercial projects.

How it works

Codename One is a toolkit that allows you to easily build beautiful cross-platform apps targeting iOS, Android, and the web using Java or Kotlin.

What Codename One is...

Runtime Library

A cross-platform runtime library tailored to mobile app development.

Build Tools

The foundation that allows you to do Write-Once-Run-Anywhere on mobile. This includes all of the tools required to convert JVM bytecode into native executables on each mobile platform. You dont need to worry about these, since this is all handled seamlessly by the build server.

 

Add-Ons

A rich ecosystem of add-on libraries developed both by Codename One and the community.

Widgets

A cross-platform light-weight UI component library designed for mobile.

GUI Builder

A GUI builder for building beautiful user interfaces with drag-and-drop.

Build Server

A cloud-based build service allowing you to build app-store ready apps with a single click; without the headache of maintaining complicated native toolchains.

Simulator

A simulator that allows you to test and debug your app right inside your IDE.

What Codename One is NOT...

HTML5/Javascript

Codename One apps are not simply HTML5/Javascript apps wrapped in a web view. They are fully-native apps that are compiled down to native code, and they have full access to the native APIs of each platform.

Want to use some HTML in your app? No problem! Codename One has a WebView widget that will allow you to wrap HTML5 inside your app seamlessly.

Want to deploy your app on the web? No problem. Codename One apps can also be compiled to Javascript and run inside a web browser without requiring any plugins.

Java bindings to Native Widgets and APIs

Unlike some other toolkits that merely provide bindings to native components and APIs, Codename One's UI component library is light-weight and truly cross-platform. This provides 100% code reuse across platforms, not only for business logic, but for the UI also.

Can I still use native widgets in my app?

Yes you can! In fact you can even mix native widgets and light-weight widgets together inside a Codename One app seamlessly.

Can I access native APIs in my app?

Yes, you can access both system APIs and 3rd party native frameworks and libraries.

Made with Codename One

Loved by Developers, Trusted by Enterprises

Codename One customers

Blog