| Crates.io | freya-hooks |
| lib.rs | freya-hooks |
| version | 0.3.4 |
| created_at | 2023-08-16 21:21:12.268948+00 |
| updated_at | 2025-06-02 20:29:19.950611+00 |
| description | Hooks library designed for Freya. |
| homepage | https://freyaui.dev/ |
| repository | https://github.com/marc2332/freya |
| max_upload_size | |
| id | 946442 |
| size | 326,625 |
Website | Documentation | Discord | Main branch Docs
Freya is a cross-platform and non-web GUI library for Rust powered by π¨ Skia.
This is Freya's website landing page made with Freya itself:

An animated drag and drop.
Animated transition between router pages.
Valin βοΈ is a Work-In-Progress cross-platform code editor, made with Freya π¦ and Rust, by me.


Make sure to have Development Setup ready.
β οΈ If you happen to be on Windows using
windows-gnuand 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.3"
dioxus = { version = "0.6", features = ["macro", "hooks"], default-features = false }
If you are interested in contributing please make sure to have read the Contributing guide first!
Freya uses some of the core crates from Dioxus. This means that you will effectively be creating Dioxus components using RSX and hooks.
However, thanks to Dioxus being a renderer-agnostic library, you and your app will NOT be using Webviews, JavaScript, HTML, CSS, or any other abstraction that ends up using one of those or other web technologies.
Freya does everything on its own when it comes to:
...and more. Dioxus is only used for managing app components (hooks, lifecycle, state, RSX), while everything else is managed by Freya.
Freya is not meant to be a drop-in alternative to Dioxus renderers but a GUI library on its own.
Below is a comparison of the main differences between Freya and the official Dioxus renderers for Desktop (WebView and Blitz):
| Category | Freya | Dioxus Renderers |
|---|---|---|
| Elements, attributes, and events | Custom | HTML |
| Layout | Custom (Torin) |
CSS or Taffy |
| Styling | Custom | CSS |
| Renderer | Skia | WebView or WGPU |
| Components library | Custom (freya-components) |
None, but can use HTML elements and CSS libraries |
| Devtools | Custom (freya-devtools) |
Provided in WebView |
| Headless testing runner | Custom (freya-testing) |
None, but tools like Playwright and similar are available |
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! π


calc() function and also pushed for improvements in the animation APIs.