Welcome to Nucleus 2.0
The Kotlin framework for cross-platform native desktop apps — now with a Tao backend, GraalVM native images, 16 packaging formats and four native toolkits.
The Kotlin framework for cross-platform native desktop apps. One Gradle DSL, one language, every screen — and the OS underneath stays fully accessible.
Nucleus turns Compose Multiplatform into a real desktop framework: native window decorations, system integration, code signing, store-ready installers, and a runtime that picks between a GraalVM binary (50 ms cold start) and a tuned JVM (peak throughput). 2.0 ships the Tao backend (Rust-based windowing, Wayland-native, multi-touch, pen) and rounds out the toolkit story with macOS, Fluent, Yaru and Jewel skins.
TL;DR
- One language, every screen. Share Kotlin with your Android, iOS and web apps. Compose UI on top.
- Tao backend (new in 2.0). Native Rust windowing — Wayland, multi-touch, pen, ~60 MB RAM on a GraalVM hello world.
- Two runtimes, one DSL. GraalVM Native Image for instant boot, or JVM + AOT cache for peak throughput.
- 30+ OS integration modules. Notifications, system tray, dock menus, dark mode, hotkeys, taskbar — opt-in, à la carte.
- 16 packaging formats, signed and notarized. DMG, PKG, MSI, AppX, DEB, RPM, AppImage, Snap, Flatpak — store-ready.
Try it in 60 seconds
curl -fsSL https://nucleusframework.dev/install.sh | bashcurl -fsSL https://nucleusframework.dev/install-linux.sh | bashGrab the installer from GitHub Releases.
Or build your first app from scratch with the quickstart.
What's new in 2.0
- Tao backend. Replace AWT with Rust-driven native windows. See Backends.
- GraalVM Native Image, productized. Reachability metadata for every Nucleus module is shipped and resolved automatically.
- Four native toolkits. macOS 26 (Liquid Glass), Fluent, Yaru, Jewel — same
DecoratedWindow, restyled. - 16 packaging formats. Including AppX/MSIX, Flatpak and Snap with store-publishing wired in.
- AOT cache (JDK 25+). A pre-warmed JVM start path for apps that prefer peak throughput.
Where to go next
- Why Nucleus — the Kotlin desktop story, and how it compares to Tauri/Electron.
- Quickstart — ship a running Tao window in five minutes.
- Architecture — the layered model that makes all of this composable.
- Runtimes — GraalVM Native Image vs JVM + AOT cache.