Rust.cc

Rust.cc -

【Rust日报】2023-09-27 dioxus -- 适用于桌面、Web、移动端等的全栈 GUI 库

dioxus -- 适用于桌面、Web、移动端等的全栈 GUI 库 Dioxus 是一个可移植的、高性能的、符合人体工程学的框架,使用 Rust 语言构建跨平台的用户界面。Dioxus 可用于生成 网页前端、桌面应用、静态网站、移动端应用、TUI程序、等多类平台应用。如果你能够熟悉使用 React 框架,那 Dioxus 对你来说将非常简单。 fn app(cx: Scope) -> Element { let mut count = use_state(cx, || 0); cx.render(rsx! { h1 { "High-Five counter: {count}" } button { onclick: move |_| count += 1, "Up high!" } button { onclick: move |_| count -= 1, "Down low!" } }) } 独特的特性: 桌面程序完全基于本地环境运行(并非 Electron 的封装) 符合人体工程学的设计以及拥有强大的状态管理 全面的内联文档 - 包含所有 HTML 元素、监听器 和 事件 指南。 极快的运行效率和极高的内存效率 智能项目热更新和高效的项目迭代 一流的异步支持🔥 已支持的平台 网站项目 使用 WebAssembly 直接对 DOM 进行渲染 为 SSR 提供预渲染或作为客户端使用 简单的 "Hello World" 仅仅 65kb, 媲美 React 框架 CLI 提供热更新支持,方便项目快速迭代 桌面应用 使用 Webview 进行渲染 或 使用 WGPU 和 Skia(试验性的) 无多余配置,使用 cargo build 即可快速构建 对原生系统的全面支持 支持 Macos、Linux、Windows 等系统,极小的二进制文件 移动端应用 使用 Webview 进行渲染 或 使用 WGPU 和 Skia(试验性的) 支持 IOS 和 安卓系统 显著的 性能强于 React Native 框架 Liveview 使用服务器渲染组件与应用程序 与受欢迎的后端框架进行融合(Axum、Wrap) 极低的延迟 终端程序 在终端程序中渲染,类似于: ink.js 支持 CSS 相关模型(类似于浏览器内的) Built-in widgets like text input, buttons, and focus system https://github.com/DioxusLabs/dioxus gosub-browser -- 一个 html5 分词器/解析器 这是一个正在进行的工作。目前的状态是解析器可以解析一些 html5 文档,但还远远没有准备好。主要目标是能够正确解析 html5lib-tests 存储库(https://github.com/html5lib/html5lib-tests)中的所有测试。一旦能做到这一点,作者会尝试看看是否可以生成 DOM 树,然后就可以开始考虑下一个组件(css 解析器)。 https://github.com/jaytaph/gosub-browser From 日报小组 侯盛鑫 社区学习交流平台订阅: Rustcc论坛: 支持rss 微信公众号:Rust语言中文社区

Dioxus是一个使用Rust语言构建跨平台用户界面的全栈GUI库,具有符合人体工程学的设计、强大的状态管理、全面的内联文档、智能项目热更新和高效的项目迭代等特点,已支持网站项目、桌面应用、移动端应用、Liveview和终端程序。gosub-browser是一个正在进行的html5分词器/解析器项目。

Dioxus GUI库 Rust gui web 状态管理 跨平台

相关推荐 去reddit讨论

热榜 Top10

LigaAI
LigaAI
观测云
观测云
eolink
eolink
Dify.AI
Dify.AI

推荐或自荐