Drogon C++ Framework: Vollständiges Tutorial mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Drogon für C++: Vollständiges Tutorial mit Beispielen

Willkommen in der Welt der leistungsstarken Webentwicklung mit C++ und dem Drogon-Framework. Wenn Sie die asynchronen Fähigkeiten von Node.js oder den Komfort von Flask und Django schätzen, aber gleichzeitig native Performance benötigen, ist Drogon die richtige Wahl. In diesem Artikel zeigen wir Ihnen Schritt für Schritt, wie Sie Drogon installieren, Ihre erste Anwendung schreiben, die wichtigsten Methoden nutzen und typische Fehler vermeiden.

1. Was ist Drogon und warum brauchen Sie es?

Drogon ist ein leistungsstarkes, plattformunabhängiges Web-Framework für C++. Im Gegensatz zu vielen anderen Lösungen basiert es auf einem asynchronen I/O-Modell mit einer eigenen Event-Loop. Dadurch können tausende gleichzeitige Verbindungen verarbeitet werden, ohne für jede einen separaten Thread zu erstellen – das reduziert Speicherverbrauch und Kontextwechsel drastisch.

Warum Drogon verwenden? Erstens: Geschwindigkeit. Dank kompiliertem C++ und nicht-blockierendem I/O bearbeitet Drogon Anfragen mit Mikrosekunden-Latenz – ideal für hochfrequente REST-APIs, Microservices und Echtzeitanwendungen. Zweitens: Umfangreiche Funktionen direkt aus der Box: ORM für Datenbanken, WebSocket-Unterstützung, JSON, SSL/TLS, Middleware, ein Template-System (ctemplate) und ein integrierter HTTP-Client.

Das Framework wird aktiv weiterentwickelt, bietet eine klare Dokumentation und eine freundliche Community. Wenn Sie ein Backend benötigen, das die Hardware bis ans Limit ausreizt, ohne auf Code-Ausdrucksstärke zu verzichten, ist Drogon Ihr zuverlässiges Werkzeug.

2. Installation

Drogon wird nicht über Paketmanager wie pip oder npm installiert. Sie müssen es aus dem Quellcode kompilieren. Der Prozess ist jedoch mit CMake und vcpkg weitgehend automatisiert.

Methode 1: Installation mit vcpkg (empfohlen)

# vcpkg klonen, falls noch nicht geschehen
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh  # oder bootstrap-vcpkg.bat unter Windows

# Drogon installieren
./vcpkg install drogon

Methode 2: Manuelle Kompilierung aus dem Quellcode

# Abhängigkeiten installieren (Ubuntu/Debian)
sudo apt-get install git cmake build-essential libssl-dev libjsoncpp-dev libboost-all-dev libsqlite3-dev libmariadb-dev libpq-dev

# Repository klonen
git clone https://github.com/drogonframework/drogon.git
cd drogon

# Build-Ordner erstellen
mkdir build && cd build

# Konfigurieren und kompilieren
cmake ..
make -j$(nproc)

# Systemweit installieren
sudo make install

Nach der Installation können Sie Drogon in Ihren CMake-Projekten einbinden:

find_package(Drogon REQUIRED)
target_link_libraries(my_app PRIVATE Drogon::Drogon)

3. Schnellstart – Minimales funktionsfähiges Beispiel

Schreiben wir einen einfachen HTTP-Server, der auf jede GET-Anfrage mit "Hello, World!" antwortet.

// main.cpp
#include <drogon/drogon.h>

int main() {
    // App-Instanz erstellen
    drogon::app().registerHandler("/", [](const drogon::HttpRequestPtr& req,
                                          std::function<void (const drogon::HttpResponsePtr&)> &&callback) {
        // Antwort erstellen
        auto resp = drogon::HttpResponse::newHttpResponse();
        resp->setBody("Hello, World!");
        callback(resp);
    });

    // Server auf Port 8080 starten
    drogon::app().addListener("0.0.0.0", 8080).run();
    return 0;
}

Kompilieren und ausführen:

g++ -std=c++17 -o hello main.cpp -ldrogon -ljsoncpp -lssl -lcrypto -lpthread
./hello

Öffnen Sie nun Ihren Browser und gehen Sie zu http://localhost:8080. Sie sehen das erwartete "Hello, World!".

4. Grundlegende Methoden

Empfehlungen