NiQin
更新于
2022-10-06 14:34:50+08:00
浏览数量:
63069
关键词/标签:
rust
rust-web
rust-web-guide
rust-web-零散
##### Rust Web 实践零散
目前,仅是个人 Rust Web 开发中的一些记录。
涵盖:Rust Web 生态中的 Tide、actix-web、Yew、async-graphql、surf、handlebars-rust、rhai、jsonwebtoken,以及 mongodb 等。
完整的内容,还在进一步规划和整理之中。
学以聚之,问以辩之。终日乾乾,与时偕行。
NiQin
更新于
2022-07-28 21:23:02+08:00
浏览数量:
65349
关键词/标签:
rust
rust-web
tide
web-framework
Tide 是小型而实用的 Rust web 应用程序框架,为快速开发而构建。它提供了一组健壮的特性,使得构建异步 web 应用程序和 API 更加容易、更为有趣。
Tide 指导手册正在编写中,会随着实践的推移逐步完善。
本书中所有的实例请参阅 [Tide 实例项目](https://github.com/http-rs/tide-book/tree/main/examples)。
> 💥 Tide 在\*\*生产环境的实践“脚手架”\*\*项目,请参阅 **[surfer](https://github.com/zzy/surfer)**[(github 仓库)](https://github.com/zzy/surfer)(将持续升级):
>
> - 纯粹 Rust 技术栈实现的博客系统,有兴趣请访问[演示站点 1](https://niqin.com),以及[演示站点 2](https://gaidun.com):。
> - 后端(backend)主要提供 graphql 服务,使用了 tide, async-graphql, jsonwebtoken, mongodb 等相关 crate。
> - 前端(frontend)提供 web 应用服务,使用了 tide, rhai, surf, graphql_client, handlebars-rust, cookie 等相关 crate。
>
> 💥 关于清洁的模板项目,采用了**纯粹的 Rust 技术栈**。包括(将持续升级):
>
> - [Rust](https://www.rust-lang.org) - [中文文档](https://rust-lang.niqin.com)
> - [Tide](https://crates.io/crates/tide) - [中文文档](https://tide-book.niqin.com)
> - [async-graphql](https://crates.io/crates/async-graphql) - [中文文档](https://async-graphql.niqin.com)
> - [mongodb & mongo-rust-driver](https://crates.io/crates/mongodb)
> - [Surf](https://crates.io/crates/surf)
> - [graphql_client](https://crates.io/crates/graphql_client)
> - [handlebars-rust](https://crates.io/crates/handlebars)
> - [jsonwebtoken](https://crates.io/crates/jsonwebtoken)
> - [cookie-rs](https://crates.io/crates/cookie)
>
> 最简单但完全的示例项目,请参阅 github 仓库 **<a href="https://github.com/zzy/tide-async-graphql-mongodb">tide-async-graphql-mongodb</a>**。目前实现了如下功能(将持续升级):
>
> - 用户注册
> - 使用 PBKDF2 对密码进行加密(salt)和散列(hash)运算
> - 整合 JWT 鉴权的用户登录
> - 密码修改
> - 资料更新
> - 用户查询和变更
> - 项目查询和变更
> - 使用基于 Rust 实现 graphql-client 获取 GraphQL 服务端数据
> - 渲染 GraphQL 数据到 handlebars-rust 模板引擎