A high-performance C++17/20 HTTP web framework for building asynchronous, cross-platform server applications.
Drogon is a C++17/20-based HTTP web application framework for building high-performance, asynchronous server applications. It provides a non-blocking I/O architecture, cross-platform support, and tools for developing RESTful APIs, web services, and real-time communication servers. The framework solves the need for scalable, low-latency web services in C++ without sacrificing developer productivity.
C++ developers building high-concurrency web servers, RESTful APIs, or real-time applications requiring maximum performance and efficient resource utilization. It's also suitable for teams needing a cross-platform solution with modern asynchronous patterns.
Developers choose Drogon for its benchmark-leading performance, full asynchronous model, and comprehensive feature set—including ORM, WebSocket, and templating—all within a clean, decoupled C++ framework. Its command-line tool (drogon_ctl) simplifies boilerplate, while cross-platform support ensures deployment flexibility.
Drogon: A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses non-blocking I/O based on epoll/kqueue to handle massive concurrency with minimal threads, as evidenced by top-tier results in TechEmpower benchmarks.
Fully asynchronous with callbacks and C++ coroutines, enabling efficient handling of high-throughput RESTful APIs and real-time WebSocket communication.
Provides an asynchronous ORM for PostgreSQL, MySQL, SQLite, and Redis, simplifying data operations without external dependencies.
Supports Linux, macOS, Windows, and other OSes, allowing deployment across diverse environments without code changes.
Requires CMake setup with multiple build options (e.g., BUILD_ORM, BUILD_SHARED_LIBS), which can be cumbersome compared to simpler frameworks.
As a C++ web framework, it has a smaller community and fewer third-party tools or tutorials compared to popular alternatives like Express.js or FastAPI.
Relies on advanced C++ features and callback-based or coroutine patterns, which can be challenging for developers unfamiliar with asynchronous systems.