2个版本

0.1.1 2024年5月27日
0.1.0 2024年5月27日

1025过程宏 中排名

每月 29 次下载
用于 lucamoller_dust

MIT 许可证

28KB
607

Dust

Dust是一个全栈Web框架,旨在通过使用Rust完全开发交互式应用程序来快速开发。它旨在允许开发者用相对较少的代码行数编写整个交互式应用程序,并以非常无缝的方式指定服务器和前端逻辑。尽管Rust是一种复杂的语言(有人可能会质疑它是否是快速编写Web应用程序的好选择),但该框架试图承担管理和隐藏大量复杂性的重担,使应用程序逻辑能够以简单的方式进行编写。

本项目受到Plotly Dash的启发:Dash in Rust -> Dust。使用Rust的主要动机是它可以用来将客户端代码编译成WebAssembly(WASM),而Dash通常仅限于用Python编写服务器端代码。编写任意客户端逻辑的能力在优化应用程序性能时可能非常重要。次要动机是Rust有一个出色的静态类型系统,这在代码可读性和可维护性方面可以增加很多价值。

项目状态

项目处于概念验证阶段。我们正在尝试确定是否可以实施一些基本的功能集,以便以简洁和简单的方式使用。

入门模板

查看Dust 入门以获取起始项目骨架的示例。

Leptos

Leptos(另一个Rust全栈Web框架)是Dust的主要依赖项。Dust可以被视为围绕它的一种有观点的高层包装器,以非常特殊的方式处理服务器-客户端交互。Dust期望客户端UI通过Leptos视图定义。

一些初步想法:我们选择Leptos,因为它似乎提供了出色的服务器-客户端集成(Dust的内部回调引擎是在其之上开发的),努力去除不必要的复杂性(使用信号等),并且cargo-leptos工具使得开发变得相当直接(分离的服务器二进制和wasm构建的概念几乎完全抽象化)。

依赖项

~0.8–1.4MB
~26K SLoC