Sobre el proyecto
Fiber es un framework web para Go inspirado en Express y construido sobre Fasthttp, el motor HTTP para Go. Tiene como objetivo facilitar el desarrollo de servidores rápidos manteniendo un bajo uso de memoria y un alto rendimiento.
Capacidades clave descritas en el README:
- Enrutamiento: admite rutas con comodines, nombradas, opcionales y con múltiples parámetros, además de nombrar y buscar rutas.
- Servido de archivos estáticos: sirve directorios o archivos individuales, incluyendo un archivo de índice como respaldo para rutas no coincidentes.
- Middleware y Next: middleware global y por ruta con encadenamiento mediante c.Next().
- Middleware integrado: registrador, CORS, recuperación, limitador de tasas, entre otros listados en la tabla de middleware interno.
- Motores de plantillas: predeterminado a html/template y admite motores externos como Pug, Handlebars, Mustache y Amber a través del paquete gofiber/template.
- Agrupación de rutas: agrupa rutas en cadenas con prefijos y middleware compartidos.
- Respuestas JSON: ayudantes para devolver estructuras y mapas como JSON.
- Soporte para WebSocket y Socket.io a través de paquetes contrib.
- Eventos Enviados por el Servidor: ejemplo muestra transmisión de datos de eventos con transferencia por fragmentos.
- Configuración de proxy de confianza: encabezados de proxy configurables y rangos de proxy de confianza.
- Compatibilidad con net/http: el router acepta manejadores estándar de net/http directamente, y un middleware adaptador puede conectar aplicaciones completas o cadenas de middleware en ambas direcciones.
- Manejadores estilo Express: adapta manejadores de dos argumentos y middleware de tres argumentos con llamadas de retorno next.
La instalación requiere Go 1.26 o superior. El paquete se instala con go get github.com/gofiber/fiber/v3. Un ejemplo mínimo inicializa una aplicación, define una ruta GET que devuelve una cadena y escucha en el puerto 3000.
El README señala que los valores devueltos por fiber.Ctx no son inmutables por defecto y se reutilizan en solicitudes, por lo que los valores de contexto solo deben usarse dentro del manejador y no deben conservarse. También menciona que debido al uso de unsafe, la biblioteca puede no ser siempre compatible con la última versión de Go. Se hacen referencia a benchmarks de TechEmpower, con enlaces a gráficos y un wiki.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.