2025年Zino:致力于打造Rust语言中最好用的企业级应用开发框架

Zino:致力于打造Rust语言中最好用的企业级应用开发框架本文为 Zino 开发框架技术解读 系列的第一篇 Zino 致力于打造 Rust 语言中最好用的企业级应用框架 奉行 约定优于配置 的原则 借鉴 Node 的 Egg js Java 的 Spring Boot Gloang 的 Beego 提供与 axum 已实现 actix web 计划中

大家好,我是讯享网,很高兴认识大家。

本文为『Zino开发框架技术解读』系列的第一篇。

Zino致力于打造Rust语言中最好用的企业级应用框架,奉行“约定优于配置”的原则,借鉴Node的Egg.js、Java的Spring Boot、Gloang的Beego,提供与axum(已实现)、actix-web(计划中)等框架的集成,目前仍在快速迭代开发中。


讯享网

1. 功能特色

🚀 开箱即用,快速开发应用。

✨ 极简设计、模块化架构、高层次抽象。

⚡ 兼顾开发效率和性能的平衡。

🐘 为PostgreSQL提供高度优化的ORM。

🕗 轻量级定时任务。

💠 统一访问存储服务、数据源以及聊天机器人。

📊 支持追踪、度量和日志。

2. 核心模块

zino-core提供Zino框架的19个核心模块:

  • accessor(可选)模块基于OpenDAL提供统一的存储服务操作
  • application模块提供统一的应用接口定义以集成其他框架(如axum、actix-web等)。
  • authentication模块提供零信任身份认证相关功能,包括AccessKey、SecurityToken、SessionId以及HTTP签名。
  • cache(可选)模块提供基于内存的缓存,目前只支持LRU缓存。
  • channel模块实现CloudEvent规范和订阅功能。
  • chatbot(可选)模块提供统一的聊天机器人调用接口(目前仅支持OpenAI)。
  • connector(可选)模块提供统一的数据源连接、查询接口。
  • database(可选)模块为PostgreSQL数据库提供ORM。
  • datetime模块提供ISO 8601标准的日期处理功能。
  • error模块提供通用的错误类型。
  • extension模块通过扩展特性来提供辅助函数。
  • i18n模块提供多语言服务支持。
  • model模块提供应用模型的高层次抽象。
  • request模块提供请求上下文和请求验证功能。
  • response模块实现标准化的请求响应。
  • schedule模块实现轻量化的调度任务,支持异步任务。
  • state模块实现应用域和请求域的状态管理。
  • trace模块提供HTTP请求头用于性能度量和追踪。
  • view(可选)模块提供HTML模板渲染功能。

3. 应用目录约定规范

Zino开发框架采用了类似于Egg.js的应用目录约定规范:

  • Cargo.toml为应用的Cargo配置文件。
  • assets/为可以通过网络访问的静态资源目录,index.html为默认首页文件,404.html为404文件,data/为共享的数据目录。
  • config/config.{env}.toml用于编写不同运行环境的配置文件。
  • config/locale/{lang-id}.ftl于编写i8n多语言文件(目前仅支持Fluent规范)。
  • data/用于放置本地数据文件(不能通过网络访问)。
  • logs/用于日志文件输出。
  • src/controller/用于编写控制器。
  • src/main.rs用于启动应用。
  • src/router/用于配置URL路由规则。
  • src/schedule/用于编写定时任务。
  • src/service/用于编写业务逻辑层。
  • templates/用于编写HTML模板文件(目前仅支持Tera模板)。 
小讯
上一篇 2025-04-05 23:37
下一篇 2025-03-01 23:32

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/11051.html