A powerful and simple Rust web framework with full HTTP protocol support and built-in OpenAPI integration.
Salvo is a Rust web framework designed to be both powerful and simple, offering a streamlined development experience for building modern web applications and APIs with minimal boilerplate. It provides a comprehensive toolkit including full HTTP protocol support, flexible routing, and built-in real-time communication features. The framework aims to eliminate unnecessary complexity while providing all necessary tools for production-ready applications.
Rust developers building web applications, APIs, or real-time services who want a balance of simplicity and comprehensive features without excessive boilerplate. This includes backend engineers creating RESTful services, real-time applications with WebSocket/WebTransport, or projects requiring automatic OpenAPI documentation.
Developers choose Salvo for its unique combination of simplicity and power, where middleware is just a handler and complex features like OpenAPI integration require minimal code changes. It offers production-ready foundations built on Hyper and Tokio with automatic TLS management and full HTTP/1/2/3 support out of the box.
A powerful web framework built with a simplified design.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Middleware is implemented as a simple handler, reducing complexity and making it easy to write and understand, as shown in the README where adding a header is just a function annotated with #[handler].
Out-of-the-box support for HTTP/1, HTTP/2, and HTTP/3, eliminating the need for additional configuration or libraries for modern web standards.
Built-in integration with ACME providers like Let's Encrypt for automatic certificate management, simplifying HTTPS setup in production deployments with just a few lines of code.
First-class support for auto-generating OpenAPI documentation via simple annotations, such as changing #[handler] to #[endpoint], streamlining API development and documentation.
Native WebSocket and WebTransport support enables real-time applications without relying on external libraries, as highlighted in the features list.
Compared to established frameworks like Actix-web, Salvo has fewer third-party integrations and community resources, which can slow down development when needing niche plugins or extensive support.
Despite its simplicity claims, Salvo relies on Tokio and Hyper for async operations, which may be challenging for developers new to Rust's concurrency model, requiring additional ramp-up time.
The inclusion of multiple advanced features like auto TLS and full protocol support adds dependencies and potential binary bloat, making it less ideal for lightweight or embedded use cases.
Salvo focuses on APIs and real-time communication, lacking built-in templating engines or frontend integration tools, which might necessitate extra work for full-stack web applications.