À propos du projet

Fiber est un framework web pour Go inspiré d'Express et construit sur Fasthttp, le moteur HTTP pour Go. Il vise à rendre le développement côté serveur rapide plus facile tout en maintenant une allocation de mémoire faible et une performance élevée. Fonctionnalités clés décrites dans le README : - Routage : prise en charge des routes avec caractères génériques, nommées, optionnelles et à plusieurs paramètres, ainsi que le nommage et la recherche de routes. - Service de fichiers statiques : diffusion de répertoires ou de fichiers uniques, y compris une page d'accueil en cas de non-correspondance des routes. - Middlewares et Next : middlewares globaux et limités à un chemin, avec chaînage via c.Next(). - Middlewares intégrés : journalisateur, CORS, récupération, limiteur de taux, et plus encore répertoriés dans le tableau des middlewares internes. - Moteurs de modèles : par défaut html/template et prise en charge d'autres moteurs tels que Pug, Handlebars, Mustache et Amber via le package gofiber/template. - Groupement de routes : regroupement des routes en chaînes avec des préfixes et des middlewares partagés. - Réponses JSON : aides pour renvoyer des structures et des cartes en tant que JSON. - Support WebSocket et Socket.io via des packages contrib. - Événements envoyés par le serveur : exemple montrant le streaming de données d'événements avec transfert par tranches. - Configuration de proxy fiable : en-têtes de proxy configurables et plages de proxy fiables. - Compatibilité avec net/http : le routeur accepte directement les gestionnaires standard net/http, et un middleware adaptateur peut relier des applications entières ou des chaînes de middlewares dans les deux sens. - Gestionnaires de type Express : adaptation des gestionnaires à deux arguments (requête/réponse) et des middlewares à trois arguments avec rappels next. L'installation nécessite Go 1.26 ou supérieur. Le package est installé avec go get github.com/gofiber/fiber/v3. Un exemple minimal initialise une application, définit une route GET retournant une chaîne et écoute sur le port 3000. Le README indique que les valeurs renvoyées par fiber.Ctx ne sont pas immuables par défaut et sont réutilisées entre les requêtes, donc les valeurs du contexte ne doivent être utilisées que dans le gestionnaire et non conservées. Il mentionne également que, en raison de l'utilisation de unsafe, la bibliothèque peut ne pas être compatible avec toutes les versions de Go. Des benchmarks sont mentionnés par TechEmpower, avec des liens vers des graphiques et une wiki.