HOME

TheInfoList



OR:

Codename One is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
cross-platform framework aiming to provide
write once, run anywhere ''Write once, run anywhere'' (WORA), or sometimes ''Write once, run everywhere'' (WORE), was a 1995 slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java (programming language), Java programming language. Ideally, ...
code for various mobile and desktop operating systems (like Android,
iOS Ios, Io or Nio (, ; ; locally Nios, Νιός) is a Greek island in the Cyclades group in the Aegean Sea. Ios is a hilly island with cliffs down to the sea on most sides. It is situated halfway between Naxos and Santorini. It is about long an ...
,
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
MacOS macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
, and others). It was created by the co-founders of the Lightweight User Interface Toolkit (LWUIT) project, Chen Fishbein and Shai Almog, and was first announced on January 13, 2012. Codename One built upon the LWUIT platform abstraction by adding a simulator and a set of cloud-based build servers that build native applications from the
Java bytecode Java bytecode is the instruction set of the Java virtual machine (JVM), the language to which Java and other JVM-compatible source code is compiled. Each instruction is represented by a single byte, hence the name bytecode, making it a compact ...
.


Architecture

Developers using Codename One build their app using various Java IDEs like
Eclipse An eclipse is an astronomical event which occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ...
,
NetBeans NetBeans is an integrated development environment (IDE) for Java (programming language), Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Microsoft Windows, Windows, ...
or
IntelliJ IDEA IntelliJ IDEA () is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains (formerly known as IntelliJ) and is a ...
; 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. Running/debugging the application is possible via the standard IDE tools and the Codename One simulator. 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 it 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 use of Codename One build servers completely.


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 from some critics of the lightweight approach.


Open source

The Codename One project is a combination of
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
and
software as a service Software as a service (SaaS ) is a cloud computing service model where the provider offers use of application software to a client and manages all needed physical and software resources. SaaS is usually accessed via a web application. Unlike o ...
. Most of the client-side code is open source, including the iOS, Android, Windows, JavaScript, RIM and J2ME ports. The server build code and the Codename One LIVE! Tool are proprietary.


Community

Codename One claimed 200,000 downloads of its SDK as of release 1.1 on May 20, 2013. It has since released version 3.0 and claims 180 million applications installed on devices and 40,000 developers using the tool.


See also

* React Native *
Flutter (software) Flutter is an open-source UI software development kit created by Google. It can be used to develop cross platform applications from a single codebase for the web, Fuchsia, Android, iOS, Linux, macOS, and Windows. First described in 2015, Flut ...


References

{{Reflist Software frameworks Mobile software development Mobile software programming tools Cross-platform mobile software Cross-platform software Java platform Java development tools