Makepad is a GPU-based, cross-platform UI framework written in and for Rust. It supports all major platforms – Android, iOS, Linux, macOS, Windows, and the Web.
Its architecture is almost entirely GPU-driven, with immediate-mode rendering that produces extremely fast apps while leaving the CPU free for other tasks. This makes Makepad ideal for performance-intensive applications.
User interfaces are described using a simple [domain-specific language (DSL)](DSL/Introduction) for layout and styling. All widgets are shader-driven and powered by a cross-platform [shader language](Shaders/Introduction.md), providing fine-grained visual control without requiring a DOM or CSS.
A standout feature is Live Styling: changes to DSL or shader code are reflected instantly in your running app, without recompilation or restarts. This bridges the gap between developers and designers and accelerates iteration. The Live DSL not only defines styling but also drives widget composition, layouts, animations, and application state.
Unlike egui or ImGui, Makepad’s UI allows for complex applications to be built from nested, composable widgets. This combination of immediate-mode drawing with a structured widget tree is unique to Makepad and gives it both performance and flexibility.
Together, the DSL, shader system, hierarchical composition, and live workflow form a unique design-development loop, making Makepad both powerful and productive.
Finally, Makepad is known for its fast compilation speed, ensuring an efficient and interruption-free development experience.
---
### Standout Features
- Shader-based immediate-mode UIs
- Cross-platform support
- Simple DSL for UI building
- Cross-platform shader language for styling
- Live Styling without recompilation
- Hierarchical outliner-style widget composition system
- Fast compile times
### Tutorials
- Check out our introductory [[Tutorial]] to get started.
### Supported Platforms
- Android
- iOS
- Linux
- macOS
- Web
- Windows
### Resources
- The [UI Zoo](https://github.com/makepad/makepad/tree/dev/examples/ui_zoo) example provides many functional widgets to copy and experiment with.
### More Info
- [GitHub](https://github.com/makepad/makepad)
- [Makepad.nl](https://makepad.nl/)