6 dépôts
Toolkits for building web applications and servers using the Rust programming language.
Distinct from Rust Network Frameworks: Existing candidates were too narrow, focusing on specific niches like eBPF or PostgreSQL extensions.
Explore 6 awesome GitHub repositories matching web development · Rust Web Frameworks. Refine with filters or upvote what's useful.
This project is a reference implementation of a production-ready backend API built with Rust and the Actix-Web framework. It serves as a codebase demonstrating the development of a newsletter subscription service, encompassing the management of subscriber sign-ups, email confirmations, and campaign delivery. The project highlights a layered architecture that separates concerns into handler, service, and repository layers. It utilizes an actor-based concurrency model for handling HTTP requests and employs trait-based abstractions to decouple business logic from external dependencies, such as e
Builds a production-ready backend API using the Rust programming language.
Iron est un framework web Rust utilisé pour construire des applications web concurrentes et des API. Il fonctionne comme un serveur HTTP concurrent et fournit un répartiteur de routes sans état pour mapper les chemins d'URL entrants et les globs vers des fonctions de gestion spécifiques. Le projet est centré autour d'un pipeline de requêtes basé sur des middlewares, qui permet d'étendre le cycle requête-réponse via des plugins et des modificateurs. Il utilise un conteneur d'état thread-safe pour stocker la mémoire d'application partagée accessible à travers tous les gestionnaires et middlewares concurrents. Le framework couvre de larges domaines de fonctionnalités, notamment le routage d'API dynamique, l'hébergement de fichiers statiques et la gestion de l'état de session web. Il inclut également des outils pour logger le trafic HTTP et parser les corps de requête et les paramètres d'URL.
Provides a comprehensive toolkit for building scalable web applications and APIs using the Rust programming language.
Tide est un framework de serveur web asynchrone et une boîte à outils HTTP pour le langage de programmation Rust. Il fournit un système pour construire des applications réseau à haute concurrence et des API REST en utilisant des entrées/sorties non bloquantes et des runtimes asynchrones. Le framework est centré sur un pipeline de requêtes basé sur des middlewares, permettant aux développeurs d'intercepter et de traiter les requêtes et réponses HTTP via des couches logiques enfichables. Il prend en charge une arborescence de routes hiérarchique pour organiser les endpoints en groupes imbriqués partageant des préfixes de chemin communs et des middlewares étendus. Les domaines de capacité incluent la communication en temps réel via WebSockets et les événements envoyés par le serveur (SSE), ainsi que la diffusion de contenu via le service de fichiers statiques et le rendu de modèles dynamiques. Le framework gère également les charges utiles JSON, les requêtes GraphQL, les téléchargements de fichiers multipart, et la gestion de l'état global de l'application et des sessions utilisateur. La sécurité est assurée par le chiffrement TLS pour le trafic réseau et la vérification d'identité pour les ressources protégées.
Enables the development of high-performance web servers and APIs using Rust's asynchronous runtime.
Poem est une boîte à outils complète pour construire des applications web, API et serveurs typés en utilisant le langage de programmation Rust. Il fournit une fondation pour développer des serveurs web qui gèrent les requêtes HTTP avec une forte sécurité de type. Le framework se distingue en prenant en charge plusieurs protocoles de communication via un mappage de gestionnaire agnostique au protocole. Cela permet à une logique interne unique d'être exposée à travers HTTP, des services gRPC utilisant des définitions protobuf, et le Model Context Protocol pour l'intégration de modèles d'IA. De plus, il inclut des outils intégrés pour générer des spécifications OpenAPI v3 et une documentation interactive. Le projet couvre un large éventail de capacités, incluant le routage de requête, les pipelines middleware basés sur des traits, et la gestion de session. Il fournit des fonctionnalités de sécurité telles que le renouvellement automatique de certificat TLS basé sur ACME, la protection CSRF, et la configuration CORS. D'autres capacités intégrées incluent le streaming de données en temps réel via WebSockets et Server-Sent Events, le service d'assets statiques, et l'intégration OpenTelemetry pour le traçage distribué des requêtes. Le framework est conçu pour prendre en charge diverses cibles de déploiement, incluant la capacité d'exécuter des applications web en tant que fonctions serverless pilotées par événements au sein de runtimes cloud.
Provides a comprehensive toolkit for building type-safe web applications and APIs using the Rust programming language.
Salvo est un framework web Rust complet pour construire des serveurs HTTP asynchrones et des applications web. Il dispose d'un routeur web hiérarchique qui utilise une structure basée sur un arbre pour mapper les requêtes aux gestionnaires et un pipeline de middleware asynchrone basé sur le modèle en oignon pour le pré- et post-traitement des requêtes et des réponses. Le framework se distingue par sa prise en charge native des protocoles réseau modernes, y compris une implémentation HTTP/3 basée sur QUIC aux côtés de HTTP/1 et HTTP/2. Il inclut un générateur de documentation OpenAPI intégré qui extrait les schémas directement des signatures de gestionnaire pour produire des spécifications d'API standardisées et des interfaces interactives. De plus, il fournit une gestion automatisée TLS via l'intégration ACME pour obtenir et renouveler les certificats de sécurité. Le projet couvre un large éventail de capacités, y compris la communication en temps réel via WebSockets et WebTransport, ainsi qu'une fonctionnalité de passerelle API avec proxy de requête et réécriture de chemin. Il inclut une prise en charge intégrée de la gestion de session, de l'extraction de paramètres typée en toute sécurité et de l'observabilité via l'intégration OpenTelemetry. La livraison de contenu est gérée via le service de fichiers statiques et le templating HTML dynamique. Un outil en ligne de commande est fourni pour amorcer de nouvelles structures de projet.
Provides a comprehensive toolkit for building asynchronous HTTP servers and web applications using the Rust programming language.
Nickel is a web framework for the Rust programming language designed to handle HTTP requests and responses. It functions as a server-side toolkit that provides integrated routing, middleware, and JSON deserialization. The framework utilizes a middleware-based request pipeline to insert custom logic and state management into the request-response cycle. It also includes a server-side template engine for generating dynamic HTML pages by merging data with markup templates. The project covers high-level capabilities for REST API development, web application routing, and global error handling to i
Provides a complete toolkit for building high-performance, safe web applications using Rust.