< 返回版块

MalikHou 发表于 2023-12-08 17:53

Tags:rust, 日报

Viewbuilder -- Rust 的跨平台用户界面框架

该 crate 提供了一个模块化 GUI 库,可以用作整个框架,也可以与各个部分一起使用。

let ui = UserInterface::new();
let tree = ui.insert(LocalTree::builder(Window::default()));

let text = tree.insert(Text::new("Hello World!"));
tree.root().push_child(text.key);

ui.run();

Features

  • 跨平台,支持桌面和移动设备
  • 使用类似 HTML 的 API 进行事件处理
  • 使用 dioxus 进行状态管理(可选)
  • CSS flexbox 和带有 taffy 的网格布局
  • 无障碍使用 Accesskit
  • 使用 Rust-skia 进行高性能渲染

入门

安装很简单:

cargo add viewbuilder --features full
  • https://github.com/concoct-rs/viewbuilder

engrave -- 基于浏览器的代码编辑器

engrave 是使用 Rust 和 Dioxus 的桌面和网络文本编辑器。

use dioxus::prelude::*;
use engrave::{language, Editor, UseEditor};

fn app(cx: Scope) -> Element {
    let editor = UseEditor::builder()
        .language(language::rust())
        .height(600.)
        .use_editor(cx, || include_str!("../src/editor/use_editor.rs"));

    render!(Editor { editor: editor })
}

效果展示: https://engrave-rs.netlify.app/Editor

目前还有很多 bug 欢迎大家贡献。

  • https://github.com/matthunz/engrave

评论区

写评论
BlackStone 2023-12-14 00:46

希望Viewbuilder有个taffy demo!

1 共 1 条评论, 1 页