Новый C++ фреймворк для веб-разработки ворвался в топ GitHub

Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

Новый C++ фреймворк для веб-разработки набирает популярность: обзор возможностей

Мир веб-разработки традиционно ассоциируется с Python, JavaScript и Go. Однако в последние месяцы на арену вышел неожиданный игрок — новый фреймворк для языка C++ под названием Drogon. Этот проект стремительно набирает звезды на GitHub и привлекает внимание разработчиков, уставших от медленных интерпретируемых языков в высоконагруженных системах.

Drogon — это асинхронный, высокопроизводительный веб-фреймворк, написанный на современном C++17/20. В отличие от многих решений, он не требует зависимостей от libcurl, OpenSSL или Boost.Asio — всё необходимое для работы с HTTP/HTTPS, WebSocket и базами данных уже встроено в ядро. Это делает его идеальным выбором для микросервисов, API-шлюзов и real-time приложений.

Почему Drogon стал популярен?

  • Скорость. Бенчмарки показывают, что Drogon обрабатывает до 1,5 миллиона запросов в секунду на одном ядре — это в 10 раз быстрее большинства Node.js или Python-фреймворков.
  • Простота. Разработчики отмечают, что синтаксис Drogon напоминает Express.js или Flask, но с мощью C++. Для создания REST API достаточно написать всего несколько строк кода.
  • Поддержка современных стандартов. Фреймворк активно использует возможности C++20: корутины, ranges, std::format. Это позволяет писать безопасный и читаемый код без ручного управления памятью.
  • Экосистема. Drogon предоставляет ORM для PostgreSQL, MySQL и SQLite, встроенный шаблонизатор (аналог Jinja2) и поддержку WebSocket.

Пример кода на Drogon

Вот как выглядит минимальный REST API на Drogon:


#include <drogon/drogon.h>
using namespace drogon;

int main() {
    app().registerHandler("/hello", [](const HttpRequestPtr& req,
                                       std::function<void (const HttpResponsePtr&)> &&callback) {
        auto resp = HttpResponse::newHttpResponse();
        resp->setBody("Hello from C++!");
        callback(resp);
    });
    app().addListener("0.0.0.0", 8080).run();
}

После компиляции (одной командой cmake) вы получаете бинарник размером около 3 МБ, который запускается мгновенно и потребляет всего 5-10 МБ оперативной памяти на старте.

Где применяется?

Drogon уже используют в production такие компании, как Netflix (для внутренних микросервисов), Cloudflare (для edge-вычислений) и ряд финтех-стартапов. Основные сценарии:

  • Высоконагруженные API (биржи, аналитика, IoT);
  • Real-time чаты и стриминг данных;
  • Замена Node.js/Python в проектах, где критична задержка;
  • Встраивание веб-сервера в настольные приложения (например, для локального администрирования).

Как начать?

Установка проста: на Ubuntu/Debian достаточно выполнить sudo apt install libdrogon-dev, на macOS — brew install drogon. Для Windows предусмотрены готовые .dll и инструкции на официальном сайте drogon.org.

Несмотря на то, что C++ традиционно считается сложным для веб-разработки, Drogon меняет это восприятие. Если вам

Рекомендуем библотеки