New C++ framework for web development gains popularity: feature overview
The world of web development is traditionally associated with Python, JavaScript, and Go. However, in recent months, an unexpected player has entered the arena — a new framework for the C++ language called Drogon. This project is rapidly gaining stars on GitHub and attracting the attention of developers tired of slow interpreted languages in high-load systems.
Drogon is an asynchronous, high-performance web framework written in modern C++17/20. Unlike many solutions, it does not require dependencies on libcurl, OpenSSL, or Boost.Asio — everything needed for working with HTTP/HTTPS, WebSocket, and databases is already built into the core. This makes it an ideal choice for microservices, API gateways, and real-time applications.
Why did Drogon become popular?
- Speed. Benchmarks show that Drogon processes up to 1.5 million requests per second on a single core — this is 10 times faster than most Node.js or Python frameworks.
- Simplicity. Developers note that Drogon's syntax resembles Express.js or Flask, but with the power of C++. Creating a REST API requires just a few lines of code.
- Support for modern standards. The framework actively uses C++20 features: coroutines, ranges, std::format. This allows writing safe and readable code without manual memory management.
- Ecosystem. Drogon provides ORM for PostgreSQL, MySQL, and SQLite, a built-in template engine (analogous to Jinja2), and WebSocket support.
Code example in Drogon
Here is what a minimal REST API in Drogon looks like:
#include <drogon/drogon.h>using namespace drogon;
int main() { app().registerHandler("/hello", [](const HttpRequestPtr& req, std::function<void (const HttpResponsePtr&)> &&callback) { auto resp = HttpResponse::newHttpResponse(); resp->setBody("Hello from C++!"); callback(resp); }); app().addListener("0.0.0.0", 8080).run();}After compilation (with a single cmake command), you get a binary about 3 MB in size that starts instantly and consumes only 5-10 MB of RAM at startup.
Where is it used?
Drogon is already used in production by companies such as Netflix (for internal microservices), Cloudflare (for edge computing), and a number of fintech startups. Main scenarios:
- High-load APIs (exchanges, analytics, IoT);
- Real-time chats and data streaming;
- Replacing Node.js/Python in projects where latency is critical;
- Embedding a web server into desktop applications (for example, for local administration).
How to get started?
Installation is simple: on Ubuntu/Debian, just run sudo apt install libdrogon-dev, on macOS — brew install drogon. For Windows, ready-made .dll files and instructions are available on the official website drogon.org.
Despite the fact that C++ is traditionally considered difficult for web development, Drogon is changing this perception. If you