Golang продолжает развиваться, вместе с ним развивается и вся экосистема языка. В частности, появляются новые и обновляются существующие фреймворки. В этой статье мы сделаем небольшой обзор тех, что связаны с HTTP-бэкендом.  Если нужен быстрый запуск API-интерфейсов REST, веб- и серверных приложений в Go, то лучшего варианта не найти. Golang-разработчики зачастую сравнивают Beego с Django в Python. Достоинство Beego — отсутствие необходимости установки сторонних производителей. Это, фактически, полноценный фреймворк Model-View-Controller, причём у него есть собственные библиотеки и встроенный инструмент Bee, который даёт возможность находить изменения кода.  Beego состоит из восьми модулей, каждый из которых можно либо использовать, либо  игнорировать. Благодаря карте объектных отношений ORM-фреймворк помогает организовать базу данных приложения вместе с инструментами обработки сеансов и системами регистрации. Также Beego имеет обработчик кэша и все необходимые библиотеки для работы с элементами HTTP. Фреймворк отлично работает с  инструментами командной строки — примерно как Django. Правда, есть и недостаток. Из-за возможностей и масштабности Beego, новичку будет нелегко его освоить, так что это, скорее, инструмент для опытного разработчика. Инструмент для работы с микросервисами в любом масштабе. Микросервисы часто требуют специализированной поддержки, которую Kit без проблем предоставляет. Фреймворк обеспечивает безопасность RPC, наблюдаемость системы и интеграцию инфраструктуры. В его состав входит несколько связанных пакетов, которые служат для построения масштабных сервис-ориентированных архитектур (SOA), что облегчает работу с микросервисами. Разработчики могут выбирать базы данных, компоненты, платформу и архитектуру для работы — Kit с высокой степенью вероятности подойдёт для всего. Kit использует такие слои как логирование метрики, трассировка, ограничение и прерывание запросов, которые необходимы для запуска микросервисов на проде. Он также даёт возможность придерживаться SOLID, предметно-ориентированного подхода и гексагональной архитектуры. Облегчённый, гибкий и расширяемый веб-фреймворк. Позволяет создавать надёжные и масштабируемые RESTful API, имеет встроенное промежуточное ПО и даёт возможность определять своё собственное.  В числе фичей Echo также оптимизированный HTTP-маршрутизатор, который разумно определяет приоритеты маршрутов, централизованная обработка ошибок HTTP и API для отправки различных HTTP-ответов. Фреймворк поддерживает HTTP/2 для повышения производительности и улучшения пользовательского опыта. Простой но мощный фреймворк, который был создан на базе Fasthttp — самого быстрого HTTP-движка для Go. Fiber разработали для ускорения работы с нулевым распределением памяти и возможностями производительности. Плюс ко всему, этот фреймворк ещё и компактен, он без проблем позволяет интегрировать сторонние библиотеки с Martini. Fiber обеспечивает необходимую масштабируемость при сокращении накладных расходов. По отзывам некоторых разработчиков, он напоминает Express.js, предоставляя отличную поддержку маршрутизации, обслуживания статических файлов, построения REST API, движок шаблонов и поддержку гибкого межплатформенного ПО. Fasthttp обеспечивает быстрый HTTP-сервер и клиент API. Он может обрабатывать более 100 000 запросов в секунду и свыше 1 млн одновременно открытых соединений. Фреймворк рассчитан на относительно низкое потребление памяти и обеспечивает простую поддержку обновления соединения через RequestCtx.Hijack. Разработали Fasthttp для расширения возможностей клиент-серверных реализаций либо написания их с нуля. Обработчик запросов получает достаточно много информации, включая адрес сервера и клиента, регистратор запросов, уникальный идентификатор запроса и т. п. Стоит знать, что Fasthttp несовместим с net/http. Gorilla практически безупречно работает со всеми повторно используемыми элементами и компонентами HTTP-библиотеки. Её главные достоинства в том, что она предлагает модульность и масштабируемость в качестве основных функций. И проблемы «засорения» устаревшим функционалом в случае Gorilla нет — всё отлично спроектировано. Пакет Gorilla WebSocket предоставляет полную реализацию протокола WebSocket. Благодаря простоте использования и возможностям у этого фреймворка есть все шансы стать одним из наиболее заметных для Golang. Тема фрейворков в Golang достаточно сложная. Единого промышленного стандарта пока нет, явного лидера среди написанных сообществом фреймворков — тоже. Мы перечислили наиболее популярные на данный момент варианты, которые могут помочь с разными задачами. Расскажите, а что используете вы?