Freya ๐ฆ
Website | Nightly Docs | Stable Docs | Book | Discord
Freya is a native GUI library for Rust powered by ๐งฌ Dioxus and ๐จ Skia.
โ ๏ธ It's currently work in progress and not usable for production, but you can already play with it! You can join the Discord server if you have any question or issue.
Sponsors ๐ค
Thanks to my sponsors for supporting this project! ๐
Want to try it? ๐ค
โ ๏ธ First, see Environment setup.
Clone this repo and run:
cargo run --example counter
You can also try freya-template
Usage ๐
Add Freya and Dioxus as dependencies:
= "0.2"
= { = "0.5", = ["macro", "hooks"], = false }
Features โจ
- โ๏ธ Built-in components (button, scroll views, switch and more)
- ๐ Built-in hooks library (animations, text editing and more)
- ๐ Built-in devtools panel (experimental โ ๏ธ)
- ๐งฐ Built-in headless testing runner for components
- ๐จ Theming support (not extensible yet โ ๏ธ)
- ๐ฉ๏ธ Cross-platform (Windows, Linux, MacOS)
- ๐ผ๏ธ SKSL Shaders support
- ๐๏ธ Dioxus Hot-reload support
- ๐ Multi-line text editing (experimental โ ๏ธ)
- ๐ฆพ Basic Accessibility Support (experimental โ ๏ธ)
- ๐งฉCompatible with dioxus-sdk and other Dioxus renderer-agnostic libraries
Goals ๐
- Performant and low memory usage
- Good developer experience
- Cross-platform support
- Decent Accessibility support
- Useful testing APIs
- Useful and extensible components and hooks