Codename One apps support a subset of the Java SE 8 API as well as its own light-weight runtime and UI component library that includes support for everything that would expect in a mobile application platform.
See the JavaDocs for a full list of supported classes, and check out the source in the git repository.
Codename One is much more than an API library. It provides a full tool-chain and eco-system for developing beautiful, performant native mobile apps with a single codebase in Java and Kotlin. Please see the introduction in the Developer guide for a proper overview of Codename One.
Limitations
- No reflection
Codename One apps don’t support reflection because reflection makes it impossible to keep app-size down.
Kotlin API support
Codename One apps support the Kotlin Standard Library. Kotlin support is still new, so are still discovering which libraries are compatible. APIs that rely on reflection won’t be supported, but most other libraries should work.
Add-on libraries
Add-on libraries can be added to your library in the common/pom.xml file, but, if you use APIs that aren’t supported by Codename One (for example, which use reflection), then your app will fail to build.
Codename One supports its own library format (cn1lib) which sort of "certifies" that it’s compatible with Codename One. Run mvn cn1:settings and open Extensions to browse the growing catalog of available cn1libs. See Codename One Settings.
For more information about cn1libs, see the cn1libs section of the developer guide.