choose when you want a polished mobile/desktop product in Dart rather than embedding a Rust immediate-mode GUI
Flutter makes it easy and fast to build beautiful apps for mobile and beyond
- 178.7k
- Dart
- BSD-3-Clause
immediate-mode GUI in Rust
egui is an easy-to-use, pure-Rust immediate-mode GUI library that runs on web and native and can be embedded in game engines.
Solves the same problem with a different architecture or at a different layer. Expect to rewrite the integration.
choose when you want a polished mobile/desktop product in Dart rather than embedding a Rust immediate-mode GUI
Flutter makes it easy and fast to build beautiful apps for mobile and beyond
choose when you want native mobile components from a React/JS codebase rather than a Rust immediate-mode canvas
A framework for building native applications using React
choose when you want to ship a PWA/hybrid app from HTML/CSS/JS instead of compiling Rust to WebAssembly
A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.
choose when your team is on C#/XAML and needs desktop-first .NET UI with retained-mode data binding
Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The future of .NET UI
choose for a Go-only desktop UI with Material widgets if you are not tied to Rust or immediate-mode iteration
Cross platform GUI toolkit in Go inspired by Material Design
choose for a declarative retained-mode Rust UI with .ui files instead of hand-writing immediate-mode code
Slint is an open-source declarative GUI toolkit to build native user interfaces for Rust, C++, JavaScript, or Python apps.
choose if you are invested in .NET/C# and need one native mobile/desktop app UI
.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
choose for a Kotlin Multiplatform UI using Compose's declarative model instead of egui's immediate mode
Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.
choose if you need C#/XAML across mobile/desktop/WebAssembly with hot reload and a different rendering model
Open-source platform for building cross-platform native Mobile, Web, Desktop, and Embedded apps from a single C#/XAML codebase. Work from any IDE/CLI with Hot Reload, Visual Designer, MCPs, and Skills built for modern .NET workflows. 200M+ NuGet downloads.
choose when you are building dynamic JS-driven mobile apps and cannot use Rust immediate-mode UI in that stack
Hippy is designed to easily build cross-platform dynamic apps. ๐
choose when you want to drive a local browser/WebView as your GUI from any backend language rather than drawing in-process triangles
Use any web browser or WebView as GUI, with your preferred language in the backend and modern web technologies in the frontend, all in a lightweight portable library.
choose for a Swift-native cross-platform GUI if your project is written in Swift instead of Rust
A cross-platform GUI framework for Swift, built for demanding workloads and developer ergonomics
choose for mobile UI with Go rather than desktop/web Rust immediate-mode UI
Cross-platform mobile UI framework for Go
choose when you need an immediate-mode flexbox GUI while writing Go instead of Rust
Go based GUI framework: practical, immediate mode, flexbox model
choose when your project uses C++ and needs the mature original immediate-mode GUI with its ecosystem, while egui is Rust-only
Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
These projects were analysed and named egui among their alternatives. The relationship is not symmetric โ how egui rates them is a separate judgement, made when egui is analysed in its own right.
calls egui โchoose if you are writing Rust (or need immediate-mode GUI compiled to WebAssembly) and want the same per-frame model as Dear ImGui without C++.โ
Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies