#dioxus #skia #cross-platform-gui #desktop #ui

freya

由Dioxus和Skia驱动的跨平台GUI库

11个版本

0.2.2 2024年4月27日
0.2.1 2024年4月27日
0.1.8 2023年8月27日
0.1.1 2022年11月19日

#96GUI

Download history 30/week @ 2024-05-04 20/week @ 2024-05-11 24/week @ 2024-05-18 37/week @ 2024-05-25 63/week @ 2024-06-01 55/week @ 2024-06-08 80/week @ 2024-06-15 38/week @ 2024-06-22 26/week @ 2024-06-29 25/week @ 2024-07-06 30/week @ 2024-07-13 21/week @ 2024-07-20 26/week @ 2024-07-27 26/week @ 2024-08-03 21/week @ 2024-08-10 13/week @ 2024-08-17

88 每月下载量

MIT 许可证

1MB
19K SLoC

Freya 🦀

Freya logo

Discord Server Github Sponsors codecov

网站 | 夜间文档 | 稳定文档 | 书籍 | Discord

Freya 是一个由 🧬 Dioxus 和 🎨 Skia 驱动的原生GUI库。

⚠️ 目前处于开发中,不可用于生产,但您可以尝试使用它!如果您有任何问题或问题,可以加入 Discord 服务器。



fn app() -> Element {
    let mut count = use_signal(|| 0);

    render!(
        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" }
            }
        }
    )
}

Freya Demo

赞助商 🤗

感谢赞助商对项目的支持! 😄

Alberto Mendezandar1an

想试试吗? 🤔

⚠️ 首先,请参阅 环境设置

克隆此仓库并运行

cargo run --example counter

您还可以尝试 freya-template

用法 📜

将Freya和Dioxus添加为依赖项

freya = "0.2"
dioxus = { version = "0.5", features = ["macro", "hooks"], default-features = false }

特性 ✨

  • ⛏️ 内置 组件(按钮、滚动视图、开关等)
  • 🚇 内置 钩子 库(动画、文本编辑等)
  • 🔍 内置 开发工具 面板(实验性 ⚠️)
  • 🧰 内置组件的 无头测试 运行器
  • 🎨 支持主题(目前不可扩展 ⚠️)
  • 🛩️ 跨平台(Windows、Linux、MacOS)
  • 🖼️ 支持SKSL 着色器
  • 🔄️ 支持Dioxus 热重载
  • 📒 多行 文本编辑(实验性 ⚠️)
  • 🦾 基本的支持 无障碍性(实验性 ⚠️)
  • 🧩 兼容dioxus-sdk和其他Dioxus渲染器无关库

目标 😁

  • 高性能和低内存使用
  • 良好的开发者体验
  • 跨平台支持
  • 不错的无障碍性支持
  • 有用的测试API
  • 有用的和可扩展的组件和钩子

MIT许可证

依赖项

~28–69MB
~1M SLoC