#http #web-framework #web #framework #service

zino

Next-generation framework for composable applications in Rust

104 releases (20 breaking)

new 0.21.1 Apr 26, 2024
0.20.3 Apr 22, 2024
0.19.3 Mar 31, 2024
0.17.0 Dec 30, 2023
0.1.2 Dec 29, 2022

#111 in HTTP server

Download history 17/week @ 2024-01-04 2/week @ 2024-01-11 7/week @ 2024-01-18 12/week @ 2024-01-25 1/week @ 2024-02-01 154/week @ 2024-02-15 194/week @ 2024-02-22 175/week @ 2024-02-29 184/week @ 2024-03-07 281/week @ 2024-03-14 275/week @ 2024-03-21 455/week @ 2024-03-28 96/week @ 2024-04-04 251/week @ 2024-04-11 318/week @ 2024-04-18

1,238 downloads per month

MIT license

1MB
23K SLoC

github crates-io docs-rs

zino is a next-generation framework for composable applications in Rust which emphasizes simplicity, extensibility and productivity.

Highlights

  • 🚀 Out-of-the-box features for rapid application development.
  • 🎨 Minimal design, composable architecture and high-level abstractions.
  • 🌐 Adopt an API-first approch to development with open standards.
  • ⚡ Embrace practical conventions to get the best performance.
  • 💎 Highly optimized ORM for MySQL, PostgreSQL and SQLite based on sqlx.
  • ✨ Innovations on query population, field translation and model hooks.
  • 📅 Lightweight scheduler for sync and async cron jobs.
  • 💠 Unified access to storage services, data sources and chatbots.
  • 📊 Built-in support for tracing, metrics and logging.
  • 💖 Full integrations with actix-web, axum, dioxus and ntex.

Getting started

You can start with the example actix-app, axum-app, dioxus-desktop or ntex-app.

Here is the simplest application to run a server:

[package]
name = "zino-app"
version = "0.1.0"
edition = "2021"

[dependencies]
zino = { version = "0.21", features = ["axum"] }
use zino::prelude::*;

fn main() {
    zino::Cluster::boot().run()
}

Feature flags

The following optional features are available:

Name Description Default?
actix Enables the integration with actix-web. No
axum Enables the integration with axum. No
dioxus Enables the integration with dioxus. No
i18n Enables the support for internationalization. No
jwt Enables the support for JSON Web Token. No
ntex Enables the integration with ntex. No
orm Enables the ORM for MySQL, PostgreSQL or SQLite. No

Dependencies

~24–79MB
~1.5M SLoC