Cross-platform framework for building truly native mobile apps with Java or Kotlin, supporting iOS, Android, Desktop & Web.
Codename One is an open-source framework for building native mobile, desktop, and web applications using Java or Kotlin. It solves the problem of platform fragmentation by allowing developers to write code once and deploy it as truly native binaries on iOS, Android, Universal Windows Platform, and the web. The framework compiles Java bytecode into platform-specific executables, providing full access to native OS features while maintaining high performance.
Java and Kotlin developers who need to build high-performance, native mobile and desktop applications for multiple platforms without maintaining separate codebases. It is particularly suited for teams looking to leverage existing Java expertise for cross-platform development.
Developers choose Codename One because it offers genuine native compilation and performance, unlike many cross-platform tools that rely on interpreters or web views. Its unique approach of transpiling to native code ensures compatibility with platform updates and provides deep integration with native APIs, all while enabling 100% code reuse and a comprehensive suite of development tools.
Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Apps are statically compiled into native binaries using each platform's official build tools, ensuring performance comparable to hand-written native code.
The simulator starts instantly with live code reload, CSS live updates, and an interactive Groovy console, speeding up debugging and iteration cycles.
Includes a component inspector, network monitor, UI test recorder, and device skin library for pixel-perfect previews, as detailed in the README.
Provides a portable abstraction for direct interaction with underlying native code (e.g., Objective-C, C#) without sacrificing portability or code reuse.
The project is transitioning from Ant to Maven, requires JDK 8 specifically, and building from source involves multiple steps and large downloads, as admitted in the README.
The cn1libs collection is smaller than ecosystems like npm or pub, potentially limiting third-party integrations and community-driven extensions.
Stuck on JDK 8 for building, which hinders adoption of newer Java features and may conflict with modern development environments.