Высокопроизводительный HTTP-фреймворк для Go с API в стиле Martini, предназначенный для REST API, веб-приложений и микросервисов.
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
Откройте руководство по настройке, ссылка на которое есть в README
- 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 обновляется ежедневно.
Похожие проекты
Веб-фреймворк для Go в духе Express на базе fasthttp — для создания REST API и веб-серверов.
Высокоуровневый веб-фреймворк для Python, который помогает быстро разрабатывать приложения с чистой и практичной архитектурой.
Прогрессивный фреймворк для Node.js, позволяющий создавать эффективные и масштабируемые серверные приложения на TypeScript или JavaScript.
Быстрый, не навязывающий подходов минималистичный веб-фреймворк для Node.js, предназначенный для создания веб-приложений и HTTP API.
Java-реализация Apache Dubbo — RPC- и микросервисного фреймворка для связи между сервисами, обнаружения сервисов и управления трафиком.