#web-ui #web #ui #flexible #web-apps #simple #web-server

drteeth

低复杂度Web技术桌面应用程序用户界面库

3个不稳定版本

0.2.1 2023年1月25日
0.2.0 2022年11月30日
0.1.0 2022年11月23日

GUI中排名第696

无授权许可

53KB
149 代码行

一键构建桌面Rust应用程序

使用 Drteeth,你可以选择你最喜欢的异步Web服务器框架和你最喜欢的Web前端工具,并用它们来构建一个桌面应用程序。从程序员的视角来看,一切工作方式与将它们分开成Web服务器和浏览器客户端完全一样。从用户的视角来看,它就像任何其他单个小巧、快速的程序一样。

Drteeth可以使用tokioasync-stdsmol作为其异步运行时,与它们兼容的任何Web服务器都将作为你的程序逻辑的框架工作。

Drteeth使用Wry打开目标平台的本地webview,因此不需要将完整Web浏览器捆绑到二进制文件中。Drteeth应用程序小巧、快速且易于携带。

也是一个服务器

使用Drteeth的程序实际上是Web应用程序,因此如果(且仅当)它们配置为在非回环网络接口上打开端口,则可以从远程访问。同样,Drteeth程序的服务器部分可以提供“插件”程序可以与之交互的API。

超级简单

启动Drteeth程序只需要一个函数调用。你告诉它要使用的窗口标题,如何运行异步Web服务器以及要启动的URL。

这是Axum示例中Drteeth的调用。我们在这里省略了Axum服务器本身的设置,但这就是将那个服务器变成桌面应用程序所需的所有内容。

    drteeth::launch("Basic Demo", addr, async move {
        Server::from_tcp(ear)
            .unwrap()
            .serve(app.into_make_service())
            .with_graceful_shutdown(async {
                shutdown_rx.await.ok();
            })
            .await
            .unwrap();
    })
    .unwrap();

查看示例,了解如何使用Drteeth与Axum、Tide和Trillium一起使用。

详细的API文档可在docs.rs上找到。

搭配良好…

查看htmxSailfishAlpinePureTacit

依赖关系

~8–51MB
~734K SLoC