Веб-фреймворк на Си
Высокопроизводительная платформа для создания веб-приложений на Linux
Высокопроизводительная платформа для создания веб-приложений на Linux
Склонируйте репозиторий, соберите проект с нужными драйверами баз данных и запустите сервер одной командой.
git clone https://github.com/fraxer/C-web-framework.git
cd C-web-framework/backend
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release \
-DINCLUDE_POSTGRESQL=yes \
-DINCLUDE_MYSQL=yes \
-DINCLUDE_REDIS=yes \
-DINCLUDE_SQLITE=yes
cmake --build . -j$(nproc)
./exec/cpdy -c /path/to/config.json{
"/": {
"GET": {
"file": "handlers/libindexpage.so",
"function": "index"
}
}
}#include "http.h"
void index(httpctx_t* ctx) {
ctx->response->send_data(
ctx->response,
"Hello world!"
);
}Обработчик — это просто функция — Каждый маршрут загружает обработчик из .so-библиотеки. Прочитайте запрос, сформируйте ответ — больше ничего настраивать не нужно.
Руководство по сборке →Полный набор инструментов для современных веб-сервисов — протоколы, базы данных, безопасность и утилиты из коробки.
Полный HTTP/1.1 сервер и клиент — маршрутизация, виртуальные хосты, middleware и TLS.
Двунаправленные каналы реального времени с broadcasting и именованными группами.
PostgreSQL, MySQL, SQLite и Redis за единой API с ORM и миграциями.
Аутентификация, сессии, RBAC, rate limiting и современное хеширование паролей.
Локальное и S3-хранилище плюс транзакционная почта с DKIM.
Шаблонизатор, i18n, JSON, JWT, планировщик задач и набор str_t / HashMap.
Высокопроизводительные API для мобильных и веб-приложений
Чаты, уведомления и live-обновления через WebSocket
Микросервисы и монолитные приложения
Маршрутизация и проксирование запросов между сервисами
Аутентификация, RBAC и CRUD-операции
Локальное и S3-совместимое облачное хранилище
Транзакционная отправка писем с DKIM
Многоязычный контент на базе gettext и плюрализма
Изучите введение, посмотрите примеры или откройте исходный код на GitHub.