• Stars
    star
    1,429
  • Rank 32,929 (Top 0.7 %)
  • Language
    Rust
  • License
    MIT License
  • Created over 2 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Cross-platform GUI library for 🦀 Rust powered by 🧬 Dioxus and 🎨 Skia.

Freya 🦀

Freya logo

Discord Server Github Sponsors codecov

Website | 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.



fn app(cx: Scope) -> Element {
    let mut count = use_state(cx, || 0);

    render!(
        rect {
            height: "20%",
            width: "100%",
            background: "rgb(233, 196, 106)",
            padding: "12",
            color: "rgb(20, 33, 61)",
            label { 
                font_size: "20", 
                "Number is: {count}"
            }
        }
        rect {
            height: "80%",
            width: "100%",
            background: "rgb(168, 218, 220)",
            color: "black",
            padding: "12",
            onclick: move |_| count += 1,
            label { "Click to increase!" }
        }
    )
}

Freya

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 as a dependency via git (it's not published on crates.io yet) in your Cargo.toml:

freya = { git = "https://github.com/marc2332/freya" }
dioxus = { git = "https://github.com/DioxusLabs/dioxus", rev="11c9abcf7ce731ccb4a44c52de383c090ab319af", features = ["macro", "hooks"]}

Features

  • Support for Windows, Linux and MacOS
  • Text, containers, images, svg, etc
  • Headless testing
  • Hot reload
  • Optional DevTools panel
  • Easy multiline text editing
  • Components crate (with theming support)
    • Scroll views
    • Virtualized scroll views
    • Button
    • Slider
    • Switch
    • Dropdown
    • and a few more
  • Keyboard and Mouse events
  • Hooks crate for text editing, animating, theming..

Goals 😁

  • Performant and low memory usage
  • Good developer experience
  • Cross-platform
  • Provide accessibility APIs
  • Provide testing APIs
  • Provide useful built-in components and hooks

Status

You can see the tracking issue to know what features are implemented and which ones are not, yet.

MIT License

More Repositories

1

valin

Cross-platform code editor made with Freya 🦀 and Rust
Rust
149
star
2

tauri-deno-starter

Starter template for Tauri, bundling the frontend made with React using Deno with esbuild.
TypeScript
111
star
3

tauri-terminal

Rust
82
star
4

reactor-wallet

💳 Non-custodial cross-platform wallet for Solana
Dart
74
star
5

ghboard

🦑 GitHub Dashboard
Rust
61
star
6

dioxus-query

Fully-typed, async, reusable state management and synchronization for Dioxus 🧬
Rust
40
star
7

lsp-codemirror

LSP integration for CodeMirror
TypeScript
36
star
8

deno_installer

📦 You can now create installers for your Deno 🦕 apps!
TypeScript
30
star
9

ham

🍖 ham, general purpose programming language
Rust
22
star
10

vale

📝 Documentation Generator built with Deno
TypeScript
20
star
11

deno_inspect

🪄 Analyze or uncompile apps created with Deno.
TypeScript
15
star
12

dioxus-cheatsheet

SCSS
14
star
13

deno_tauri

Rust
12
star
14

freya-template

Simple template for Freya.
Rust
11
star
15

lenar

🌑 programming language written in Rust 🦀
Rust
10
star
16

electron-transparent-window

:electron: ElectronJS transparent window demo
HTML
8
star
17

yalem

⛑️ Experimental UI Library for Rust
Rust
8
star
18

rust_cookies

cookies? cookies.
Rust
7
star
19

eora

Cross-platform shell made in NodeJS
JavaScript
7
star
20

deno-graviton

🦕 Deno plugin for Graviton Editor
TypeScript
7
star
21

rust-stuff

🦀 Small Rust examples
Rust
6
star
22

markdown-graviton

📃 Live Markdown preview for Graviton Editor
JavaScript
6
star
23

one-dark-graviton

🌑 One Dark theme for Graviton
CSS
6
star
24

gtk-gjs-jsx

Create GJS (GTK) components with JSX
JavaScript
6
star
25

portfolio

personal website
TypeScript
5
star
26

deno_tour

🦕 A tour through Deno
TypeScript
5
star
27

freya-visualizer

Rust
5
star
28

clipboard-graviton

Clipboard manager plugin for Graviton
JavaScript
5
star
29

ankilo

Rust
5
star
30

GitPlus

Bring Git to Graviton. (old)
JavaScript
4
star
31

tasca

A tasks runner
JavaScript
4
star
32

whatever

TypeScript
4
star
33

WebEditor-Demo

Made in HTML,JavaScript, CSS
JavaScript
4
star
34

flutter-node

🕊 Flutter SDK's CLI wrapper for NodeJS
JavaScript
4
star
35

marc2332

4
star
36

reminder

Rust
4
star
37

deno_dog

🐶 A https://dog.ceo/dog-api/ wrapper for Deno
TypeScript
4
star
38

carbonara-script

Transcompiled language to JavaScript
JavaScript
4
star
39

cargo-graviton

🦀 Cargo plugin for Graviton Editor
TypeScript
4
star
40

advent-of-code-2021

My solutions to Advent Of Code (https://adventofcode.com/)
JavaScript
3
star
41

iamnothacker

Rust
3
star
42

carlo-template

A CarloJS template.
JavaScript
3
star
43

node-jsonrpc-lsp

JavaScript
3
star
44

Defender-Demo

A security/helper app UI idea
Java
3
star
45

ProtonFramework-test-

[DEPRECATED]
HTML
3
star
46

tic-tac-toe

Tic Tac Toe made in Rust
Rust
3
star
47

duckit

🦆 Homepage for DuckDuckGo
JavaScript
3
star
48

vue-plugin-example

Vue integration demostration plugin for Graviton . ( this only works in old Graviton v1.X )
Vue
3
star
49

Card-Animations

Cards animated
Kotlin
3
star
50

rust_blockchain

small blockchain made in rust
Rust
3
star
51

Clock-test

Java
3
star
52

marea

TypeScript
3
star
53

carbonara

A transcompiled language to JavaScript (Just fun)
JavaScript
3
star
54

advent-of-code-2022

My solutions to Advent Of Code (https://adventofcode.com/)
JavaScript
3
star
55

freya-hackernews

Freya 🦀 client for Hacker News
Rust
3
star
56

Calculator-Working-

Calculator app made in processing
Processing
3
star
57

my-friend

Rust
3
star
58

whistle_desktop

TypeScript
3
star
59

Order-numbers-from-small-to-big

Order numbers from small to big
Processing
3
star
60

elexus

🤩 Simple but visually eficient Mocha reporter
JavaScript
3
star
61

freya-icons

Thousands of icons ready to be used in Freya. 🌹
Rust
3
star
62

reactor-web

Website of https://github.com/marc2332/reactor-wallet
TypeScript
3
star
63

deno_code_runner

TypeScript
3
star
64

Colorful-Workspaces

[Deprecared]
JavaScript
2
star
65

docker-compose-conda-flask

Python
2
star
66

Pride

A minimalist LGBTQ supportive theme for Graviton Editor.
CSS
2
star
67

ipfs-chat

TypeScript
2
star
68

DrebleJS

JavaScript
2
star
69

advent-of-code-2023

My solutions to Advent Of Code (https://adventofcode.com/)
JavaScript
2
star
70

live-keys-graviton

Live keys plugin for Graviton Editor
JavaScript
2
star
71

bliss

Python
2
star
72

PyxisOS-Center-app

PyxisOS Center app
Java
2
star
73

codemiror-minimap

A minimap addon for CodeMirror
JavaScript
2
star
74

nu-minimal-prompt

Minimal prompt for Nushell
2
star
75

discord-twitter-theme

A Discord-like theme for Twitter.com
CSS
2
star
76

komputery-web

school project's web, nothing to see here
JavaScript
2
star
77

sardana-jupyter

Mirror of https://gitlab.com/sardana-org/sardana-jupyter
Python
1
star
78

tsc-module-commonjs

TypeScript
1
star
79

cleverpy-posts

TypeScript
1
star
80

dioxus-to-do-list

Rust
1
star
81

yaml_v_redis

Python
1
star
82

docker-conda-flask

Containerized webserver running on Flask
Python
1
star
83

dart-fix-examples

C++
1
star
84

foo

foo
1
star
85

wry-slowed-click

Rust
1
star
86

rusty_deno

TypeScript
1
star
87

alexa-virtual-device

A virtual Alexa device
Rust
1
star
88

cowboy-graviton

Cowboy. A theme for Graviton Editor
CSS
1
star
89

gpg-signing-test

1
star
90

shuttle-cch23

Rust
1
star
91

dioxus-i18n

Rust
1
star
92

deno_installer_fork

TypeScript
1
star
93

vale-deno-deploy

TypeScript
1
star
94

cpu_overlay

Rust
1
star
95

dioxus-utils

Rust
1
star