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 技术栈。包括(将持续升级):

请参阅 github 仓库 tide-async-graphql-mongodb 或者 actix-web-async-graphql-rbatis。 目前实现了如下功能(将持续升级):

  • 用户注册
  • 使用 PBKDF2 对密码进行加密(salt)和散列(hash)运算
  • 整合 JWT 鉴权的用户登录
  • 密码修改
  • 资料更新
  • 用户查询和变更
  • 项目查询和变更
  • 使用基于 Rust 实现 graphql-client 获取 GraphQL 服务端数据
  • 渲染 GraphQL 数据到 handlebars-rust 模板引擎

欢迎您的参与,以及沟通交流。