Repolode
CrowCpp

CrowCpp/Crow

Быстрый микрофреймворк на C++ в стиле Flask для создания HTTP- и WebSocket-сервисов: header-only и простой в использовании.

Звёзды
5,009
Форки
565
Открытые issues
91
Последний коммит
вчера

Что это?

Crow — это фреймворк на C++ для создания HTTP- и WebSocket-сервисов. Маршрутизация в нём устроена по образцу Python-фреймворка Flask, поэтому разработчикам, знакомым с веб-фреймворками для Python или JavaScript, будет привычно задавать эндпоинты с помощью URL-шаблона и функции-обработчика.

Типы аргументов обработчиков сверяются с параметрами URL на этапе компиляции, поэтому несовпадение между маршрутом вроде /hello/<int> и сигнатурой обработчика приводит к ошибке компиляции. В библиотеке также есть поддержка JSON в запросах и ответах, модуль шаблонизации на базе Mustache, обработка multipart-запросов и ответов, а также middleware для расширения функциональности.

Crow распространяется как header-only библиотека; также доступна сборка в виде одного заголовочного файла. Фреймворк рассчитан на C++11/14. Асинхронная поддержка и HTTP/2 указаны как функции в разработке.

Ключевые возможности

  • 01Маршрутизация в стиле Flask с параметрами URL.
  • 02Проверка типов аргументов обработчика на соответствие параметрам URL во время компиляции.
  • 03Встроенная поддержка JSON в запросах и ответах.
  • 04Шаблонизация на базе Mustache через crow::mustache.
  • 05Header-only библиотека с возможностью сборки в виде одного заголовочного файла.
  • 06Поддержка middleware и обработка WebSocket-соединений.

Сценарии использования

  • Создание лёгких REST API на C++ без тяжёлого фреймворка.
  • Добавление HTTP- или WebSocket-эндпоинтов в существующее приложение на C++.
  • Отдача простых страниц, формируемых на сервере с помощью шаблонов Mustache.

Быстрый старт

  1. 1

    Откройте руководство по настройке, ссылка на которое есть в README

  2. 2

    Подключите crow.h и соберите пример Hello World из README

Что важно знать

  • Лицензия не указана явно в метаданных проекта, поэтому перед использованием проверьте файл LICENSE.
  • Поддержка Async и HTTP/2 всё ещё находится в разработке.
  • В README нет команды установки через менеджер пакетов; настройка описана только во внешнем руководстве.

Темы

Частые вопросы

Что такое Crow?
Быстрый микрофреймворк на C++ в стиле Flask для создания HTTP- и WebSocket-сервисов: header-only и простой в использовании. Crow — это фреймворк на C++ для создания HTTP- и WebSocket-сервисов. Маршрутизация в нём устроена по образцу Python-фреймворка Flask, поэтому разработчикам, знакомым с веб-фреймворками для Python или JavaScript, будет привычно задавать эндпоинты с помощью URL-шаблона и функции-обработчика.
Crow можно использовать бесплатно? Какая у него лицензия?
Crow распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
Crow всё ещё поддерживается?
Активно поддерживается. Последний коммит в Crow — 19 окт. 2026 г..
Для чего можно использовать Crow?
Создание лёгких REST API на C++ без тяжёлого фреймворка. Добавление HTTP- или WebSocket-эндпоинтов в существующее приложение на C++. Отдача простых страниц, формируемых на сервере с помощью шаблонов Mustache.
Как установить Crow?
Откройте руководство по настройке, ссылка на которое есть в README Подключите crow.h и соберите пример Hello World из README
Где скачать Crow?
Исходный код и инструкции по установке — на GitHub: https://github.com/CrowCpp/Crow

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты