zurück zum Artikel

Webservices in C++ programmieren mit Boost.Beast

| Oliver Lau

Wer Wert auf Geschwindigkeit legt, fährt mit C++ und einer effizienten Bibliothek besser als mit Python und Java. Eine Einführung in die Bibliothek Beast.

Webservice-Frameworks wie Django, Rails oder Spring Boot sind so komplex, dass man sich leicht darin verirren kann. Außerdem verführen sie dazu, viele API-Funktionen zu einem monolithischen Block zusammenzufügen, der nur schwer zu warten ist. Deshalb sind Microservices eine gute Idee: Sie erledigen höchstens eine Handvoll Aufgaben. So entsteht leicht wartbarer Code, der unabhängig von anderen Services implementiert, gepflegt und in Betrieb genommen werden kann.

Wenn obendrein Performance wichtig ist, bietet sich eine systemnahe Sprache wie C++ an. Für die im Folgenden besprochene Implementierung eines rudimentären Micro-Webservice haben wir uns für die Bibliothek Beast [1] [1] aus dem plattformübergreifenden C++-Framework Boost [2] [2] entschieden. Sie ist "header-only", besteht also nur aus Header-Dateien, was dem Compiler beim Optimieren hilft.

Mehr zu Webentwicklung

Diese Kombination ist low-leveliger als das, was Sie vielleicht von Django, Rails oder Spring Boot kennen. Dafür gewinnen Sie einen guten Eindruck davon, wie die Kommunikation zwischen Client und Webservice abläuft.


URL dieses Artikels:
https://www.heise.de/-7518635

Links in diesem Artikel:
[1] https://github.com/boostorg/beast
[2] https://www.boost.org/
[3] https://www.heise.de/ratgeber/Webentwicklung-Kalender-in-eine-Website-integrieren-praktische-Moeglichkeiten-9311173.html
[4] https://www.heise.de/hintergrund/Webentwicklung-Fullstack-Anwendungen-mit-dem-Next-js-App-Router-9231420.html
[5] https://www.heise.de/hintergrund/Webentwicklung-Die-neue-Generation-JavaScript-Metaframeworks-9207984.html
[6] https://www.heise.de/ratgeber/WebAssembly-Flinkeren-Code-fuer-den-Browser-produzieren-9159159.html
[7] https://www.heise.de/ratgeber/Webentwicklung-Virtual-Reality-mit-WebXR-in-den-Browser-holen-9065192.html
[8] https://www.heise.de/hintergrund/Mit-Daten-URLs-Bilder-und-andere-Daten-in-Textdokumente-integrieren-7619551.html
[9] https://www.heise.de/hintergrund/Webservices-in-C-programmieren-mit-Boost-Beast-7518635.html
[10] https://www.heise.de/hintergrund/Webservices-in-C-JSON-Daten-de-serialisieren-mit-Bibliothek-PropertyTree-7524612.html
[11] https://www.heise.de/hintergrund/Webservices-mit-C-Routing-von-Anfragen-7546634.html
[12] https://www.heise.de/ratgeber/Webentwicklung-mit-React-Event-Streams-im-Frontend-7373389.html