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

简介: 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模板)。
目录
相关文章
|
2月前
|
Rust 安全 Go
揭秘Rust语言:为何它能让你在编程江湖中,既安全驰骋又高效超车,颠覆你的编程世界观!
【8月更文挑战第31天】Rust 是一门新兴的系统级编程语言,以其卓越的安全性、高性能和强大的并发能力著称。它通过独特的所有权和借用检查机制解决了内存安全问题,使开发者既能享受 C/C++ 的性能,又能避免常见的内存错误。Rust 支持零成本抽象,确保高级抽象不牺牲性能,同时提供模块化和并发编程支持,适用于系统应用、嵌入式设备及网络服务等多种场景。从简单的 “Hello World” 程序到复杂的系统开发,Rust 正逐渐成为现代软件开发的热门选择。
56 1
|
9天前
|
Rust 安全 网络安全
在 Rust 语言中,寻找企业上网行为管理软件的突破
在数字化企业环境中,上网行为管理软件对于保障网络安全和提升工作效率至关重要。Rust 语言凭借其安全性、高性能和并发性,为开发此类软件提供了新机遇。本文通过几个 Rust 代码示例,展示了如何实现网址检查、访问频率统计及访问控制等功能,旨在探索 Rust 在企业上网行为管理中的应用潜力。
16 0
|
2月前
|
Rust 安全 编译器
初探 Rust 语言与环境搭建
Rust 是一门始于2006年的系统编程语言,由Mozilla研究员Graydon Hoare发起,旨在确保内存安全而不牺牲性能。通过所有权、借用和生命周期机制,Rust避免了空指针和数据竞争等问题,简化了并发编程。相较于C/C++,Rust在编译时预防内存错误,提供类似C++的语法和更高的安全性。Rust适用于系统编程、WebAssembly、嵌入式系统和工具开发等领域。其生态系统包括Cargo包管理器和活跃社区。学习资源如"The Book"和"Rust by Example"帮助新手入门。安装Rust可通过Rustup进行,支持跨平台操作。
138 2
初探 Rust 语言与环境搭建
|
2月前
|
Rust 安全 程序员
Rust 语言的防错机制太惊人了!安全编码从此不再是难题,快来一探究竟!
【8月更文挑战第31天】《安全编码原则:Rust 语言中的防错机制》探讨了代码安全的重要性,并详细介绍了Rust语言如何通过内存安全模型、所有权与借用规则等特性,在编译阶段检测并阻止潜在错误,如缓冲区溢出和悬空指针。文章还讨论了类型安全、边界检查等其他安全特性,并提出了遵循不可变引用、避免裸指针及充分测试等实用编码原则,以进一步提升代码质量和安全性。随着Rust在软件开发中的应用日益广泛,掌握其安全编码原则变得尤为重要。
50 0
|
2月前
|
Rust 安全 调度
从零构建梦想操作系统:用Rust语言亲手打造专属内核,你也可以成为系统开发者!
【8月更文挑战第31天】开发操作系统内核虽具挑战,却也充满乐趣。本文将指导你从零开始,使用Rust语言构建一个简单的操作系统内核。首先安装Rust环境和交叉编译工具链,然后创建新项目`my_kernel`。通过修改`Cargo.toml`和编写启动函数,结合串口输出和`multiboot2`库,最终使用QEMU运行内核。此教程旨在帮助你理解Rust在系统开发中的应用,激发深入探索的兴趣。
67 1
|
2月前
|
Rust 安全 算法
揭秘Rust语言如何重塑区块链安全:打造坚不可摧的分布式账本新篇章!
【8月更文挑战第31天】自比特币诞生以来,区块链技术凭借其去中心化和不可篡改的特点备受关注。为了应对安全性挑战,Rust 语言凭借其内存安全特性逐渐成为区块链开发的优选。本文探讨了 Rust 如何助力区块链实现更安全的分布式账本。通过示例展示了 Rust 在避免内存泄漏、空指针引用及数据竞争等方面的优势,预示着 Rust 在高性能、高安全性需求的区块链应用中拥有广阔前景。
70 1
|
1月前
|
Rust Linux Go
Rust/Go语言学习
Rust/Go语言学习
|
2月前
|
开发者 vr&ar 机器学习/深度学习
Xamarin 开发者的未来趋势展望:掌握跨平台开发新机遇,引领移动应用创新潮流与技术变革方向
【8月更文挑战第31天】Xamarin 作为领先的跨平台开发框架,通过 C# 和 .NET 框架实现一次编写、多平台运行,简化了 iOS、Android 和 Windows 应用的开发流程。未来几年,Xamarin 开发者将面临跨平台开发普及、云集成、机器学习、AR/VR、性能优化及安全性等关键趋势。通过学习新技术并积极采用新工具,开发者能够提升应用质量和用户体验,如利用 Azure AD B2C 实现身份认证,从而在竞争激烈的市场中脱颖而出。
55 0
|
2月前
|
Rust 安全 开发者
惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
36 0
|
2月前
|
开发者 API 开发框架
Xamarin 在教育应用开发中的应用:从课程笔记到互动测验,全面解析使用Xamarin.Forms构建多功能教育平台的技术细节与实战示例
【8月更文挑战第31天】Xamarin 作为一款强大的跨平台移动开发框架,在教育应用开发中展现了巨大潜力。它允许开发者使用单一的 C# 代码库构建 iOS、Android 和 Windows 应用,确保不同设备上的一致体验。Xamarin 提供广泛的 API 支持,便于访问摄像头、GPS 等原生功能。本文通过一个简单的教育应用示例——课程笔记和测验功能,展示了 Xamarin 在实际开发中的应用过程。从定义用户界面到实现保存笔记和检查答案的逻辑,Xamarin 展现了其在教育应用开发中的高效性和灵活性。
39 0