2 个版本
0.1.1 | 2024 年 5 月 27 日 |
---|---|
0.1.0 | 2024 年 5 月 27 日 |
#1908 在 网络编程
23KB
423 行
Dust
Dust 是一个全栈网络框架,旨在通过 Rust 语言快速开发交互式应用程序,完全使用 Rust 语言编写。它旨在允许开发者使用相对较少的代码行来编写整个交互式应用程序,并以非常无缝的方式指定服务器和前端逻辑。尽管 Rust 是一种复杂的语言(有人可能会质疑它是否适合快速编写网络应用程序),但该框架试图承担大量管理和隐藏复杂性的重担,允许以简单的方式编写应用程序逻辑。
该项目受到了 Plotly Dash 的启发:从 Rust 的 Dash 到 Dust。使用 Rust 的主要动机是它可以用来将客户端代码编译成 WebAssembly (WASM),而 Dash 通常仅限于使用 Python 编写服务器端代码。编写任意客户端逻辑的能力在优化应用程序性能时可能非常重要。次要动机是 Rust 具有出色的静态类型系统,这可以为代码可读性和可维护性增加大量价值。
项目状态
该项目处于概念验证阶段。我们正在尝试确定是否可以实施一些基本功能集,使其以简洁和简单的方式使用。
入门模板
查看 Dust 入门 以获取示例项目框架。
Leptos
Leptos(另一个 Rust 全栈网络框架)是 Dust 的主要依赖项。Dust 可以被视为在其周围构建的具有特定观点的高级包装器,以一种非常特定的方式处理服务器-客户端交互。Dust 期望客户端 UI 通过 Leptos 视图定义。
一些初步的想法:我们选择 Leptos,因为它似乎提供了出色的服务器-客户端集成(Dust 的内部回调引擎是在其之上开发的),努力消除不必要的复杂性(使用信号等),而 cargo-leptos 工具使开发变得非常直接(几乎完全抽象了独立的服务器二进制和 WASM 构建)。
依赖项
约 20–35MB
约 571K SLoC