7 releases
0.2.1 | Apr 27, 2024 |
---|---|
0.2.0 | Apr 27, 2024 |
0.1.6 | Sep 16, 2023 |
0.1.5 | Aug 27, 2023 |
#1275 in GUI
274 downloads per month
Used in 3 crates
(2 directly)
665KB
16K
SLoC
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:
freya = "0.2"
dioxus = { version = "0.4", features = ["macro", "hooks"], default-features = 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
Status ⌚
You can see the tracking issue to know what features are implemented and which ones are not, yet.
Dependencies
~20–56MB
~1M SLoC