Overview of Drogon Framework
masterDrogon is a high-performance C++17/20 HTTP application framework designed for building various types of Web App servers. It is cross-platform, supporting Linux, macOS, FreeBSD/OpenBSD, HaikuOS, and Windows.
Key Features:
- High Performance: Uses a non-blocking IO framework based on
epoll(orkqueueon macOS/FreeBSD). - Asynchronous Programming: Fully asynchronous logic and support for C++ coroutines.
- Protocol Support: HTTP 1.0/1.1, HTTPS (via OpenSSL), and WebSocket (client and server).
- Templating & Views: Supports CSP (C++ Server Pages) templates where C++ code is embedded in HTML, and dynamic loading of view pages via
.sofiles. - Database Support: Asynchronous access to PostgreSQL, MySQL (MariaDB), Redis, and SQLite3 (via thread pool).
- RESTful API Support: Built-in JSON request/response handling and flexible path-to-handler mapping.
- Tooling: Includes
drogon_ctl, a command-line tool to simplify controller and view code generation. - Advanced Features: Supports cookies, built-in sessions, Gzip/Brotli compression, pipelining, and a lightweight ORM.