3 releases (breaking)
new 0.3.0-rc.0 | Dec 30, 2024 |
---|---|
0.2.0 | Apr 27, 2024 |
0.1.0 | Aug 16, 2023 |
#1445 in GUI
217 downloads per month
Used in 10 crates
(8 directly)
160KB
3.5K
SLoC
Freya 🦀
Website | Nightly Docs | Stable Docs | Book | Discord
Freya is a cross-platform GUI library for Rust powered by 🧬 Dioxus and 🎨 Skia.
It does not use any web tech, check the Differences with Dioxus.
⚠️ It's currently work in progress, but you can already play with it! You can join the Discord server if you have any question or issue.
|
Want to try it? 🤔
👋 Make sure to check the Setup guide first.
⚠️ If you happen to be on Windows using
windows-gnu
and get compile errors, maybe go check this issue.
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.5", features = ["macro", "hooks"], default-features = false }
Contributing 🧙♂️
If you are interested in contributing please make sure to have read the Contributing guide first!
Features ✨
- ⛏️ Built-in components (button, scroll views, switch and more)
- 🚇 Built-in hooks (animations, text editing and more)
- 🔍 Built-in developer tools (tree inspection, fps overlay)
- 🧰 Built-in headless runner to test UI
- 🎨 Theming support
- 🛩️ Cross-platform (Windows, Linux, MacOS)
- 🖼️ SKSL Shaders support
- 📒 Multi-line text editing
- 🦾 Accessibility support
- 🧩 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 built-in components and hooks
Support 🤗
If you are interested in supporting the development of this project feel free to donate to my Github Sponsor page.
Thanks to my sponsors for supporting this project! 😄
Special thanks 💪
- Jonathan Kelley and Evan Almloff for making Dioxus and all their help, specially when I was still creating Freya.
- Armin for making rust-skia and all his help and making the favor of hosting prebuilt binaries of skia for the combo of features use by Freya.
- geom3trik for helping me figure out how to add incremental rendering.
- Tropical for this contributions to improving accessibility and rendering.
- And to the rest of contributors and anybody who gave me any kind of feedback!
🤠 Projects
Valin ⚒️ is a Work-In-Progress cross-platform code editor, made with Freya 🦀 and Rust, by me.
Dependencies
~6–20MB
~309K SLoC