• Stars
    star
    1,246
  • Rank 37,429 (Top 0.8 %)
  • Language
    Rust
  • License
    MIT License
  • Created about 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
125
star
2

tauri-deno-starter

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

tauri-terminal

Rust
72
star
4

reactor-wallet

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

ghboard

🦑 GitHub Dashboard
Rust
60
star
6

lsp-codemirror

LSP integration for CodeMirror
TypeScript
36
star
7

dioxus-query

Fully-typed, async, reusable state management and synchronization for Dioxus 🧬
Rust
32
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
12
star
13

deno_tauri

Rust
12
star
14

lenar

🌑 programming language written in Rust 🦀
Rust
10
star
15

freya-template

Simple template for Freya.
Rust
9
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

elexus

🤩 Simple but visually eficient Mocha reporter
JavaScript
3
star
54

carbonara

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

advent-of-code-2022

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

freya-hackernews

Freya 🦀 client for Hacker News
Rust
3
star
57

Calculator-Working-

Calculator app made in processing
Processing
3
star
58

my-friend

Rust
3
star
59

whistle_desktop

TypeScript
3
star
60

Order-numbers-from-small-to-big

Order numbers from small to big
Processing
3
star
61

reactor-web

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

deno_code_runner

TypeScript
3
star
63

Colorful-Workspaces

[Deprecared]
JavaScript
2
star
64

docker-compose-conda-flask

Python
2
star
65

Pride

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

ipfs-chat

TypeScript
2
star
67

DrebleJS

JavaScript
2
star
68

advent-of-code-2023

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

live-keys-graviton

Live keys plugin for Graviton Editor
JavaScript
2
star
70

bliss

Python
2
star
71

PyxisOS-Center-app

PyxisOS Center app
Java
2
star
72

codemiror-minimap

A minimap addon for CodeMirror
JavaScript
2
star
73

discord-twitter-theme

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

komputery-web

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

sardana-jupyter

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

tsc-module-commonjs

TypeScript
1
star
77

cleverpy-posts

TypeScript
1
star
78

dioxus-to-do-list

Rust
1
star
79

yaml_v_redis

Python
1
star
80

docker-conda-flask

Containerized webserver running on Flask
Python
1
star
81

dart-fix-examples

C++
1
star
82

foo

foo
1
star
83

wry-slowed-click

Rust
1
star
84

rusty_deno

TypeScript
1
star
85

alexa-virtual-device

A virtual Alexa device
Rust
1
star
86

cowboy-graviton

Cowboy. A theme for Graviton Editor
CSS
1
star
87

gpg-signing-test

1
star
88

shuttle-cch23

Rust
1
star
89

dioxus-i18n

Rust
1
star
90

deno_installer_fork

TypeScript
1
star
91

vale-deno-deploy

TypeScript
1
star
92

cpu_overlay

Rust
1
star
93

dioxus-utils

Rust
1
star
94

nu-minimal-prompt

Minimal prompt for Nushell
1
star