• background
    Image
    Image
    Image
    Write Once Run Anywhere Native Mobile Apps
    Use your existing Java(tm) skills to target iOS, Android, Windows & more with one code base!
  • background
    Image
    Image
    Image
    Image
    Image
    Image
    Image
    Image
    Limitless possibilities!
    75M apps installed on devices! Join our huge & active open source developer community and build amazing apps. Check out our free courses and tutorials!
  • background
    NetBeans Logo
    Eclipse Logo
    IntelliJ/Idea Logo
    Use Any IDE, Leverage Your Existing Skills
    Codename One is open source and seamlessly integrates with NetBeans, IntelliJ & Eclipse. Codename One gives you full access to native code both in Objective-C, Android's native VM, C# etc...

Download for free and get started right away!

Codename One is installed on 70M+ devices and used by major fortune 500 companies world wide. Get Started

One of a kind set of features

Codename One makes cross platform development simple, seamless and maintainable

High DPI Support

Layout managers, multi-images, 9-piece borders and dozens of features designed to dynamically adapt your UI to all resolutions/densities.

Builtin Common Controls

Side menus, swipe containers, pull to refresh, infinite scroll and many other patterns are builtin

Full access to native

When you need to integrate with native features you can invoke Objective-C/Dalvik code thru native interfaces while maintaining portability!

Works with All IDE's!

NetBean, Eclipse & IntelliJ are fully supported

High Performance

Codename One is native to Android and generates native C code for iOS. It's as if you coded the app in C by hand.

GUI Builder/Fast Simulator

Apps can be hand coded or built with drag and drop, the Codename One device simulator is remarkably fast for short development cycles

Desktop & JavaScript targets

You can build a desktop Mac/Windows app as well as a JavaScript app that can run in the browser

Open Source

Codename One is completely open source

Vibrant Developer Community

The developer community shares code, tips and information including many open source libraries

Apps built with Codename One

Check out the full gallery here

Fair Pricing

Codename One is free for commercial use. For advanced features you can pay per developer seat, royalty free. Get more details about the individual plans...

Free

$0/mo
  • Community Support
  • iOS Builds
  • Android Builds
  • Windows Phone Builds
  • RIM Builds

Basic

$9/mo
  • No Build Quotas
  • Access To Native Sources
  •  
  •  
  •  

Professional

$1 Trial Option
$79/mo
  • Push Notification
  • Concurrent Builds
  • Online Training
  • E-Mail Support
  • Phone & Email Support
  • Crash Reporting
  • Desktop Apps

Enterprise

$399/mo
  • High Priority Builds
  • JavaScript App Generation
  • Continuous Integration
  • Office Hours/Phone Support
  •  

Latest Posts From Our Blog

Server Initiated Push

Sending a push notification from the simulator or mobile device is pretty trivial when we use the Push class. However, sending push messages from the server seems to be a bit more complicated for most developers since its not as well documented. The main point of complexity is that we didn't provide any samples of server push code and from the fact that the server expects arguments as POST.

This code should work for Java desktop and server side to perform a simple push, notice that the complexity is mostly related to JavaSE's lack of simplified POST arguments.

Accelerometer & Code Freeze

Devices have sensors such as accelerometer, GPS and up until now our support for them was relatively basic.
Chen recently introduced a cn1lib that includes support for various types of sensors on the device. Check it out if you need support for such API's.

HTML Hierarchy, Release Plan & TeaVM

When Codename One packages applications into native apps we hide a lot of details to make the process simpler. One of the things we had an issue with is getResource/getResourceAsStream both of which are problematic since they support hierarchies and a concept of package relativity.
That's a concept that is problematic in iOS, generally everything about file access within the bundle in iOS is a bit problematic to accomplish in a cross platform way because Apple tries so hard to "simplify" and ends up creating fragmentation for us.

Validation, RegEx & Masking

Up until recently we had to handcode validation logic into every form, this becomes tedious as we work thru larger applications. Some developers built their own generic logic, which leads to obvious duplication of effort. In the interest of keeping everything together we decided to release a standardized validation framework that allows us to define constraints on a set of components, mark invalid entries and disable submission buttons.

Start right now with Codename One, learn more here