Introduction

Freya logo

Freya is native GUI library built on top of 🧬 Dioxus and powered by 🎨 Skia, for 🦀 Rust.

⚠️ 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.

You can also see the API Reference.


#![allow(unused)]
fn main() {
fn app(cx: Scope) -> Element {
    let mut count = use_state(cx, || 0);

    render!(
        container {
            height: "100%",
            width: "100%",
            background: "rgb(35, 35, 35)",
            color: "white",
            padding: "12.5",
            onclick: move |_| count += 1,
            label { "Click to increase -> {count}" }
        }
    )
}
}

Check out the examples in the Freya repository to learn more.

About

Freya is built on top of Dioxus, it provides a renderer powered by Skia, alongside a set of elements, components, hooks and testing utilities.

Why 🧬 Dioxus?

Dioxus is heavily influenced by React, resulting in a streamlined process for creating complex components without the need for excessive code.

This sets it apart from other Rust libraries, where equivalent components often require a significant amount of additional code.

Why 🎨 Skia?

Skia is a battle-tested and well maintained graphics library, and there are even some rusty bindings.