Fork us on GitHub

Gorgeous native mobile app development with Java or Kotlin for iPhone, Android etc....

Learn more in our academy... Hours of free content

BuildWrite code in Java(tm) using Eclipse, NetBeans or IntelliJ/IDEA

TestVerify your app with our simulator, devices & test automation tools

DeployGenerate native binaries for all device types using the Codename One build cloud

180M App Installs

40K Developers

1M Cloud Builds

Testimonials

Chidiebere Okwudire
Chidiebere Okwudire SMash ICT Solutions/Senior Engineer at Sioux, Netherlands

"Affordable cross-platform toolchain that works!"

Easy extension with third-party libraries, active developer support and attractive pricing...

Ram Nathaniel
Ram Nathaniel CEO & Founder of MathUnderground, Israel

"Over 2 million active installations"

[A] mature, solid & reliable platform. It allows you to concentrate [on] developing your app, not platform specific implementations...

Fabrício Cabeça
Fabrício Cabeça Senior Developer at Pmovil, Brazil

"Going from design to working app is a breeze"

Codename One greatly reduced our development time and costs, while giving us the ability to deliver a custom experience in each platform when needed.

Ali Sayed
Ali Sayed Senior Developer, Egypt

"The best cross platform app development tool"

Its native access allowed us to add functionalities without limiting developers to platform capabilities.

Fabrizio Grassi
Fabrizio Grassi Chemetall, Italy

"a true write once run anywhere solution!"

Codename One has proven to be a productive tool for us - a true write once run anywhere solution!

Rex Green
Rex Green Vision24, South Africa

"Fast & efficient"

Fast & efficient way to eliminate the hassle of targeting multiple platforms without resorting to HTML5!

Hélio Rugani
Hélio Rugani Sócio Proprietário, Brazil

"Simply a great framework!"

[We had] some non conventional requirements & Codename One gave us good answers for all the challenges that we faced during app development.

Gareth Murfin
Gareth Murfin Developer, Taiwan

"I utilize my Java knowledge to deliver native apps"

I can deliver native apps for both platforms from a single codebase in half the time, at half the cost, with no need to hire anyone.

 Lucky Oscar Masango
Lucky Oscar Masango CTO at BOi Global Group, South Africa

"I would advise to all developers to try it out today!"

[It] has given us the ability to develop apps for all mobile platforms [quickly] & at a low cost. [It's] the most innovative tool of this generation...

What's so special about Codename One?

We are the only ones that provide...
Write Once Run Anywhere, no special hardware & 100% code reuse
Compile Java(tm) or Kotlin to native iOS, Windows (UWP), Android, Desktop & JavaScript
Easy to use with 100% portable Drag & Drop GUI builder
You can control every pixel and draw anywhere
Full access to native OS using the native language (e.g. Obj-C, C# etc.)
Use native widgets & mix them with our components in the hierarchy (heavyweight/lightweight mixing)
Open Source & Free for commercial use with enterprise grade commercial offering

Get started right away!

Start Now! It's Free!

Built with Codename One

Check out the full gallery here & our demos here
Want us to build your mobile app? Learn more here

Latest Posts From Our Blog

Tutorial - Background, Images, Borders and Gradients

Tutorial - Background, Images, Borders and Gradients

Backgrounds include a lot of nuance, especially the part covering the priorities which I start with in the tutorial below. Because of that this is one of the longer how do I videos I've done in a while as there is just so much to cover. I still had to cut a lot of stuff away and focus almost entirely on the designer tool.

Don't Touch That Code

Don't Touch That Code

Last week scrolling broke and we had a few relatively complex regressions. This can be traced back to a change we did to the getComponentAt(x, y) method, this change in itself fixed a problematic bug but triggered far worse bugs and we just had to revert the whole thing...

TIP: Use Weak References

TIP: Use Weak References

One of the less familiar features of Java is the mess of weak/soft/phantom references. This is a confusing mess and it's compounded by the fact that other languages (such as the reference counting Swift/Objective-C) have used these terms with a different meaning. To simplify this weak references in a garbage collected language allows you to keep a pointer (reference) to an object that won't force it to stay in RAM.

Tutorial - Versioned Builds/Repeatable Builds

Tutorial - Versioned Builds/Repeatable Builds

Versioned builds are one of the more confusing features of Codename One mostly because the word "version" is so overloaded with meaning. The feature itself is remarkably simple as explained in this video tutorial.
Versioned builds allow you to build against a fixed point release version of Codename One, that means that if we break something in the build servers you can still work against the last major version that we released.

Start now! It's free!