Welcome to Nucleus 2.0
Nucleus is a Kotlin framework for building native cross-platform desktop apps on top of Compose Multiplatform.
Nucleus is a Kotlin framework for building cross-platform native desktop applications. It builds on Compose Multiplatform and adds native window decorations, operating-system integration, code signing, and native installers. You configure the whole build through a single Gradle DSL, and the runtime runs either as a GraalVM native image or on the JVM.
Features
- One language across platforms. Share Kotlin code with your Android, iOS, and web apps, with Compose UI on top.
- Tao backend (new in 2.0). Rust-based native windowing with Wayland support, multi-touch, and pen input.
- Two runtimes, one DSL. Run as a GraalVM Native Image, or on the JVM with an AOT cache (JDK 25+).
- Over 40 OS integration modules. Notifications, system tray, dock menus, dark mode, global hotkeys, and taskbar integration, each added as an opt-in dependency.
- 18 packaging formats. DMG, PKG, MSI, AppX, DEB, RPM, AppImage, Snap, and Flatpak among them, with code signing and notarization.
To build your first app, follow the quickstart.
What's new in 2.0
- Tao backend. Replaces the AWT backend with Rust-driven native windows. See Backends.
- GraalVM Native Image. Reachability metadata — for your third-party libraries too, not just Nucleus modules — is resolved automatically from a curated set, the Oracle repository, and static bytecode analysis, so most apps compile without hand-written config.
- Four native toolkits. macOS 26 (Liquid Glass), Fluent, Yaru, and Jewel share the same
DecoratedWindowwith different styling. - 18 packaging formats. Now including AppX/MSIX, Flatpak, and Snap, with store publishing.
- AOT cache (JDK 25+). A pre-warmed JVM start path.
What's next
- Why Nucleus — how Nucleus compares to Tauri and Electron.
- Quickstart — build and run your first Nucleus desktop app.
- Architecture — the layered model behind the framework.
- Runtimes — GraalVM Native Image and JVM + AOT cache.
- PDF reader — render PDFs and extract text with one Compose API across Android, iOS, web, and desktop.