Rust Web 实践零散
目前,仅是个人 Rust Web 开发中的一些记录。
涵盖:Rust Web 生态中的 Tide、actix-web、Yew、async-graphql、surf、handlebars-rust、rhai、jsonwebtoken,以及 mongodb 等。
完整的内容,还在进一步规划和整理之中。
学以聚之,问以辩之。终日乾乾,与时偕行。
💥 适用于生产环境的实践示例项目,请参阅 zzy/surfer(github 仓库)(将持续升级):
- 纯粹 Rust 技术栈实现的博客系统,有兴趣请访问演示站点:。
- 后端(backend)主要提供 graphql 服务,使用了 tide, async-graphql, jsonwebtoken, mongodb 等相关 crate。
- Yew 前端(frontend)提供了 Rust 和 Wasm 的融合解决方案,使用 yew 构建 WebAssembly 标准的 web 前端,涉及 yew、graphql_client、web-sys、gloo、cookie 等相关 crate。
- Handlebars 前端(frontend)提供 web 应用服务,使用了 tide, rhai, surf, graphql_client, handlebars-rust, cookie 等相关 crate。
💥 关于清洁的模板项目,采用了纯粹的 Rust 技术栈。包括(将持续升级):
- Rust - 中文资料集萃
- Tide - 中文文档
- async-graphql - 中文文档
- mongodb & mongo-rust-driver
- rbatis & mysql
- Surf
- graphql_client
- handlebars-rust
- jsonwebtoken
- cookie-rs
请参阅 github 仓库 tide-async-graphql-mongodb 或者 actix-web-async-graphql-rbatis。 目前实现了如下功能(将持续升级):
- 用户注册
- 使用 PBKDF2 对密码进行加密(salt)和散列(hash)运算
- 整合 JWT 鉴权的用户登录
- 密码修改
- 资料更新
- 用户查询和变更
- 项目查询和变更
- 使用基于 Rust 实现 graphql-client 获取 GraphQL 服务端数据
- 渲染 GraphQL 数据到 handlebars-rust 模板引擎
欢迎您的参与,以及沟通交流。