← Ко всем open source проектам

Fiber

gofiber/fiber

Fiber — веб-фреймворк на Go, вдохновленный Express и построенный поверх FastHTTP.

Форки 1,998
Автор gofiber
Язык Go
Лицензия MIT
Обновлено 2026-06-27

Что это такое

Fiber — веб-фреймворк для Go, вдохновленный Express из Node.js-мира. Он построен поверх FastHTTP и делает ставку на скорость, небольшой overhead и знакомый стиль маршрутов для разработчиков, которым нравится лаконичный серверный код.

Проект полезен для API, микросервисов, небольших веб-приложений и сервисов, где Go уже выбран как язык, но хочется более удобной обвязки вокруг HTTP, middleware и маршрутов.

Как устроен подход

Fiber предлагает приложение, маршруты, группы, middleware, обработчики и контекст запроса. Стиль близок к Express: `app.Get`, `app.Post`, `ctx.JSON`, `ctx.Params`, `ctx.Next`.

Важная особенность — использование FastHTTP, а не стандартного `net/http`. Это помогает с производительностью, но создает ограничения совместимости с частью привычной Go-экосистемы.

Минимальный обработчик

Это Go-подобный фрагмент, показанный как простой текст: он демонстрирует стиль Fiber с маршрутом и JSON-ответом.

Язык: Plain text
app := fiber.New()

app.Get("/projects/:slug", func(c *fiber.Ctx) error {
    slug := c.Params("slug")
    return c.JSON(fiber.Map{"slug": slug})
})

app.Listen(":3000")

Что внутри репозитория

В репозитории есть сам фреймворк, документация, middleware, примеры, тесты и материалы о философии проекта. Fiber не пытается быть всей платформой приложения, но хорошо закрывает HTTP-слой.

Фреймворк особенно понятен разработчикам, которые переходят с Express на Go и хотят сохранить короткий стиль маршрутов без тяжелой архитектуры.

Практический контекст

Fiber стоит выбирать осознанно. Если проект сильно зависит от стандартных `net/http`-совместимых библиотек, нужно заранее проверить интеграции.

Для быстрых API и сервисов с простыми маршрутами Fiber может быть очень удобен. Для максимально стандартной Go-инфраструктуры иногда разумнее остаться на `net/http` или совместимых фреймворках.

Почему его выбирают в Go

Fiber привлекателен для разработчиков Go, которым нравится минималистичный стиль Express. Маршруты, middleware, группы и обработчики выглядят знакомо, а под капотом используется fasthttp, поэтому проект делает сильный акцент на скорости.

Он хорошо подходит для API, небольших сервисов, прокси-слоев и приложений, где важны простая структура маршрутов и высокая пропускная способность. Команда может быстро собрать сервер без тяжелой архитектурной обвязки.

Важный компромисс — Fiber не является прямой надстройкой над стандартным net/http. Это дает производительность, но часть привычных библиотек и middleware из мира net/http нельзя подключить без адаптации.

Поэтому Fiber особенно хорош, когда стек выбирается осознанно под новый сервис. Если проект уже глубоко завязан на стандартную библиотеку Go и существующие обработчики, переход нужно оценивать внимательнее.

Еще один практический плюс — понятная форма обработчика. В небольшом сервисе маршрут, параметры, ответ и ошибка находятся рядом, поэтому код легко читать без длинной цепочки внутренних абстракций.

Сильные стороны и ограничения

Сильная сторона — скорость и знакомый Express-подход. Ограничение — несовместимость части стандартного HTTP-мира из-за FastHTTP.