Native GUI library for đĻ Rust powered by đ§Ŧ Dioxus and đ¨ Skia.
MIT License
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.
fn app() -> Element {
let mut count = use_signal(|| 0);
rsx!(
rect {
height: "50%",
width: "100%",
main_align: "center",
cross_align: "center",
background: "rgb(0, 119, 182)",
color: "white",
shadow: "0 4 20 5 rgb(0, 0, 0, 80)",
label {
font_size: "75",
font_weight: "bold",
"{count}"
}
}
rect {
height: "50%",
width: "100%",
main_align: "center",
cross_align: "center",
direction: "horizontal",
Button {
onclick: move |_| count += 1,
label { "Increase" }
}
Button {
onclick: move |_| count -= 1,
label { "Decrease" }
}
}
)
}
đ 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
Add Freya and Dioxus as dependencies:
freya = "0.2"
dioxus = { version = "0.5", features = ["macro", "hooks"], default-features = false }
If you are interested in contributing please make sure to have read the Contributing guide first!
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! đ
Valin âī¸ is a Work-In-Progress cross-platform code editor, made with Freya đĻ and Rust, by me.