| File | Date | Author | Commit |
|---|---|---|---|
| .travis | 2017-11-03 |
|
[3d021f] Fixed travis login for triggering builds. |
| CodenameOne | 2017-11-11 |
|
[222989] Fix for regression with on-top toolbar due to i... |
| CodenameOneDesigner | 2017-11-01 |
|
[53efd4] Fixed regression in picker. Committed up to dat... |
| Factory | 2017-08-31 |
|
[bcf51f] instanceof is an operator |
| Ports | 2017-11-04 |
|
[efc434] Improved file open in the browser in the simulator |
| Themes | 2017-10-30 |
|
[af8965] Added new layout and class to replace the float... |
| vm | 2017-10-24 |
|
[b0c8f7] Fixed issue #2250 missing message in exception |
| .gitignore | 2016-09-17 |
|
[1ac7c6] Updated version numbers |
| .travis.yml | 2017-11-03 |
|
[3e51cf] Added travis build status badges to readme. |
| CONTRIBUTING.md | 2017-06-27 |
|
[d494a5] Create CONTRIBUTING.md |
| LICENSE | 2012-01-30 |
|
[a9b11b] License commit |
| README.md | 2017-11-03 |
|
[3e51cf] Added travis build status badges to readme. |

Codename One is a mobile cross platform environment for Java and Kotlin developers. It can compile Java bytecode to native OS executables (iOS, Android, UWP etc.).
It is a complete mobile platform featuring virtual machines, simulator, design tools (visual theme/builder), IDE integrations, ports to multiple OS's and much more. It provides full access to the underlying native OS code (e.g. Objective-C, C#, Dalvik/ART) thru a portable abstraction which enables 100% code reuse.
Codename One is the only platform that...
Codename One is a mature open source project with roots dating back to Sun Microsystems (2006) where one of its core underlying components was developed and open sourced. You can learn about its history and how it works in this video.
There is a lot to know about Codename One, if you just want to see a 3 minute video that explains how to use it check this out. Notice there are similar videos for Eclipse, IntelliJ/IDEA here:
Codename One can be extended easily using 3rd party libraries that can include native OS code. There is an extensive list of these libraries (cn1libs) here. The libraries list is generated automatically based on this github project.
You can learn more about Codename One and its capabilities at the main site and you can see an extensive list of documentation and tutorials here.
You can get started with the binary and the birds eye view in the download section. Additional important links are:
Setup is covered in depth in this article and video. Notice that this covers debugging the simulator and working with the code that requires the Codename One plugin for NetBeans. You can install that by installing NetBeans and typing "Codename One" in the plugin search section see the getting started tutorial.
While Codename One itself works with all major IDE's the code in this repository was designed to work with NetBeans.



Current Unit Test Status
Codename One's iOS VM is quite unique and is open source as well. You can read more about it in its dedicated folder in this repository.
ParparVM is a uniquely conservative VM that translates Java bytecode to C code. Thus providing native performance and access while still providing a safety net. This approach is unique to Codename One and is essential for future compatibility!
Apple has a tendency to change things abruptly e.g. 64bit support, bitcode etc. Since ParparVM just generates a standard Xcode project there were no code changes required for any of these tectonic shifts. It's as if you handcoded the project yourself!
You can even open the resulting project in xcode and debug it or profile it directly on the iOS device. This provides a lot of useful information such as readable callstacks and valuable/actionable performance tracking...
Traditional compilers fall flat in these cases.
Codename One maintains a fork of iKVM which is a JVM for CLR. This modified port allows us to run the Universal Windows Platform implementation of Codename One natively on Windows 10 devices.
![]()
We provide support over at StackOverflow when you tag using codenameone, you can ask anything there and we try to be pretty responsive. The StackOverflow link also serves as an excellent community driven FAQ since it literally maps user questions to answers.
Codename One has a discussion group where you can post questions. However, due to the nature of that group we try to limit discussions over the source. The discussion forum is intended for simpler usage and more complex source code hacks/native compilation might create noise there.