Neues C++-Framework für die Webentwicklung gewinnt an Popularität: Überblick über die Funktionen
Die Welt der Webentwicklung wird traditionell mit Python, JavaScript und Go assoziiert. In den letzten Monaten ist jedoch ein unerwarteter Spieler auf die Bühne getreten – ein neues Framework für die Sprache C++ namens Drogon. Dieses Projekt sammelt rasant Sterne auf GitHub und zieht die Aufmerksamkeit von Entwicklern auf sich, die von langsamen interpretierten Sprachen in hochlastigen Systemen genug haben.
Drogon ist ein asynchrones, hochperformantes Web-Framework, geschrieben in modernem C++17/20. Im Gegensatz zu vielen Lösungen benötigt es keine Abhängigkeiten von libcurl, OpenSSL oder Boost.Asio – alles, was für die Arbeit mit HTTP/HTTPS, WebSocket und Datenbanken nötig ist, ist bereits im Kern integriert. Dies macht es zur idealen Wahl für Microservices, API-Gateways und Echtzeitanwendungen.
Warum ist Drogon populär geworden?
- Geschwindigkeit. Benchmarks zeigen, dass Drogon bis zu 1,5 Millionen Anfragen pro Sekunde auf einem einzelnen Kern verarbeitet – das ist 10-mal schneller als die meisten Node.js- oder Python-Frameworks.
- Einfachheit. Entwickler bemerken, dass die Syntax von Drogon an Express.js oder Flask erinnert, jedoch mit der Leistungsfähigkeit von C++. Für die Erstellung einer REST-API reichen bereits wenige Codezeilen.
- Unterstützung moderner Standards. Das Framework nutzt aktiv die Möglichkeiten von C++20: Koroutinen, Ranges, std::format. Dies ermöglicht das Schreiben von sicherem und lesbarem Code ohne manuelle Speicherverwaltung.
- Ökosystem. Drogon bietet ein ORM für PostgreSQL, MySQL und SQLite, eine integrierte Template-Engine (Analogon zu Jinja2) und Unterstützung für WebSocket.
Codebeispiel mit Drogon
So sieht eine minimale REST-API mit Drogon aus:
#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();}Nach der Kompilierung (mit einem einzigen Befehl cmake) erhalten Sie eine Binärdatei von etwa 3 MB Größe, die sofort startet und beim Start nur 5-10 MB RAM verbraucht.
Wo wird es eingesetzt?
Drogon wird bereits in der Produktion von Unternehmen wie Netflix (für interne Microservices), Cloudflare (für Edge-Computing) und einer Reihe von Fintech-Startups verwendet. Die Hauptszenarien sind:
- Hochlastige APIs (Börsen, Analytik, IoT);
- Echtzeit-Chats und Daten-Streaming;
- Ersatz für Node.js/Python in Projekten, bei denen Latenz kritisch ist;
- Einbettung eines Webservers in Desktop-Anwendungen (z. B. für die lokale Verwaltung).
Wie fange ich an?
Die Installation ist einfach: Auf Ubuntu/Debian genügt sudo apt install libdrogon-dev, auf macOS brew install drogon. Für Windows sind fertige .dll-Dateien und Anleitungen auf der offiziellen Website drogon.org verfügbar.
Obwohl C++ traditionell als schwierig für die Webentwicklung gilt, ändert Drogon diese Wahrnehmung. Wenn Sie