Webservices in C++ programmieren mit Boost.Beast
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.
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
Copyright © 2023 Heise Medien