Codename One
![]() | This article has multiple issues. Please help or discuss these issues on the talk page. (Learn how and when to remove these template messages)
|
![]() | |
Original author(s) | Shai Almog, Chen Fishbein |
---|---|
Developer(s) | Shai Almog, Chen Fishbein, Steve Hannah |
Initial release | 2012 |
Stable release | 7.0 (Video)
/ February 5, 2021[1] |
Repository | https://github.com/codenameone/CodenameOne |
Written in | Java, Kotlin |
Platform | Cross-platform, Android, iOS, Windows, MacOS, Web |
Type | Application framework, Software framework, Mobile development framework |
License | Open source |
Website | codenameone |
Codename One is an open-source cross-platform framework aiming to provide write once, run anywhere code for various mobile and desktop operating systems (like Android, iOS, Windows, macOS, and others). It was created by the co-founders of LWUIT project (Chen Fishbein and Shai Almog) and first announced January 13, 2012.[2][3] It was described at the time by the authors as "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 & 8, J2ME devices, Windows Desktop, Mac OS, and Web. The biggest goals for the project are ease of use/RAD (rapid application development), deep integration with the native platform & native speed."
Codename One took the LWUIT platform abstraction and extended it by adding a simulator and a set of cloud based build servers that build the actual native applications from the Java bytecode.[4]
Architecture[]
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.[5] Applications can be created either via the GUI builder tool or via code using standard Java. Running/debugging the application is possible via the standard IDE tools and the Codename One simulator.[6][7]
To build a native application, developers sign in and register with the Codename One build server. They then send builds to the cloud based build server. Then they can download the native app from the build server to run on the device or submit to the store.[8] 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.[9][10]
Codename One also supports the ability to use an offline "in house" build cloud which removes the usage of Codename One build servers completely.[11] This is important for governments and other businesses which may have regulatory requirements that preclude the use of the cloud.
Native[]
The developers of Codename One define the platform as a native code generator, 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.[12]
Open source[]
The Codename One project is a combination of open source and SaaS. Most of the client-side code is open source, including the iOS, Android, Windows, JavaScript, RIM & J2ME ports.[9] The server build code and the Codename One LIVE! tool are proprietary.[13]
Community[]
Codename One claimed 200,000 downloads of its SDK as of release 1.1 on May 20, 2013.[14] It has since released version 3.0 and is claiming 180M applications installed on devices and 40,000 developers using the tool.[15]
References[]
- ^ "Codename One 7.0 - Video". GitHub. Retrieved February 5, 2021.
- ^ "What Is Codename One".
- ^ "Codename One Developers Guide | Xcode | Ios". Scribd.
- ^ "mobile - How does Codename One work?". Stack Overflow.
- ^ "Download Java IOS Development and Mobile App Plugins - Codename One". www.codenameone.com.
- ^ "How Do I? - Codename One". www.codenameone.com.
- ^ "mobile - How does Codename One work?". Stack Overflow.
- ^ "Cross Platform IOS, Iphone Mobile App Development Using Java". www.codenameone.com.
- ^ a b "FAQ - Codename One". codenameone.com.
- ^ "'codenameone' tag wiki". Stack Overflow.
- ^ "Corporate Server - Codename One". www.codenameone.com.
- ^ "Understanding Peer (native) Components & Why Codename One is so portable - Codename One". www.codenameone.com. May 2, 2014.
- ^ "Write once run anywhere native mobile apps using with Java 8 or Kotlin. Supports iOS (iPhone/iPad), Android, Windows (UWP) & others: codenameone/CodenameOne". October 9, 2019 – via GitHub.
- ^ "With 200,000 SDK Downloads, Mobile Development Platform Codename One Announces Version 1.1". SBWire (Press release). May 20, 2013.
- ^ "Cross Platform IOS, Iphone Mobile App Development Using Java". www.codenameone.com.
- Software frameworks
- Mobile software development
- Mobile software programming tools
- Cross-platform mobile software
- Cross-platform software
- Java platform
- Java development tools