|This article may rely excessively on sources too closely associated with the subject, potentially preventing the article from being verifiable and neutral. (June 2013)|
Codename One was created by the co-founders of the LWUIT project (Chen Fishbein and Shai Almog) and first announced January 13, 2012. It was described at the time by the authors as: "Codename One is a cross device platform allowing you to write your code once in Java and have it work on all devices specifically: iPhone/iPad, Android, Blackberry, Windows Phone 7 & J2ME devices. The biggest goals for the project are ease of use/RAD (rapid application development), deep integration with the native platform & native speed."
Developers using Codename One build their app using Eclipse, NetBeans or IntelliJ IDEA, they need the Codename One plugin to be installed on either IDE. Applications can be created either via the GUI builder tool or via code using standard Java 5, running/debugging the application is possible via the standard IDE tools and the Codename One simulator.
To build a native application developers sign in/register to the Codename One build server and send a build to the cloud based build server. Then they can download the native app from the build server to run on the device/submit to the store. Since the build server performs static translation of the code into a native application, it is no longer required after the application has been compiled.
Codename One also supports the ability to use an offline "in house" build cloud which removes the usage of Codename One build servers completely. This is important for governments and agencies which have anti-cloud policies.
The developers of Codename One define it as a native platform but clarify that native widgets are usually not used to render the user interfaces of Codename One applications, this allows for great portability but has also come under fire by some critics of the lightweight approach.