Об этом проекте

CWIST (C Web development Is Still Trustworthy) — это веб-фреймворк и сервер приложений на C17, объединяющий полный сетевой стек: HTTP/1.1, HTTP/2, HTTP/3 поверх QUIC, WebSocket, WebTransport и гибридный постквантовый TLS с использованием X25519MLKEM768. Он предоставляет встроенный ORM для SQLite, оптимизированный для чтения in-memory движок баз данных под названием Nuke DB, а также автоматическое определение PostgreSQL, MySQL и MariaDB по fingerprinting'у сетевого протокола. Проект предлагает две модели выполнения, выбираемые через переменную окружения. Режим реактора C1M использует io_uring на Linux (с запасными вариантами epoll/kqueue) для высококонкурентного событийно-ориентированного обслуживания, тогда как классический режим пула выделяет каждому соединению собственный поток для снижения задержек при типичных рабочих нагрузках запросов. README включает сравнительные бенчмарки с Axum, Gin и Spring Boot, охватывающие пропускную способность, процентили задержки, использование памяти и переключения контекста, с оговоркой, что результаты зависят от процессора CI-раннера и профиля нагрузки. CWIST поставляется с инструментом командной строки для создания каркаса проектов, горячей перезагрузки во время разработки, генерации OpenAPI из аннотаций Doxygen и генерации кода protobuf/gRPC. Он поддерживает унарные и потоковые маршруты gRPC, сервисы health и reflection, повторные попытки и балансировку нагрузки. Фреймворк также включает маршрутизацию с параметрами в стиле Express, промежуточное ПО, структурированное логирование, конечные точки метрик и проверки работоспособности, ограничение частоты запросов, рендеринг HTML/CSS/шаблонов и утилиты для работы с JSON. Установка возможна путём сборки из исходного кода с помощью make или через Homebrew tap. Зависимости, такие как BoringSSL, lsquic, libttak и SQLite3, вендорятся, а статическую библиотеку можно подключать напрямую или через pkg-config. Поддерживаются платформы Linux, macOS и BSD.