Webprogrammierung mit C++

Welches Framework darf es sein?

Olaf Radicke


Es gibt eine Vielzahl an Möglichkeiten, mit C++ Webprogrammierung zu betreiben. Und auch wenn es so scheint, ist die Sprache im Bereich der Webprogrammierung alles andere als unterrepräsentiert – Frameworks gibt es zur Genüge. Welches Framework das richtige ist, hängt jedoch nicht allein von technischen Fragen ab. Welche Gründe könnten also überhaupt für die Webprogrammierung mit C++ sprechen?

Geschwindigkeit

Ein Grund könnte die Geschwindigkeit sein. Alle hier vorgestellten Frameworks sind um ein Vielfaches schneller als PHP, Ruby on Rails und Java. In Zukunft könnte es aufgrund steigender Energiekosten ein wichtige Faktor sein, ob man in seinem Rechenzentrum zwei Racks mit Strom und Klima versorgen muss oder einhundert. Aber auch heute kann es bereits interessant sein, auf schwachen Embedded-Systemen Web Services betreiben zu können, die für Java-Application-Server zu schwach oder deren Speicher zu klein sind.

Investitionsschutz

Ein anderer Grund könnte Investitionsschutz sein, wenn eine bestehende C++-Applikation zu wertvoll ist, um sie komplett neu zu reimplementieren. In diesem Fall ist es mit relativ wenig Aufwand möglich, eine Applikation „Cloud-fähig“ zu machen, indem man ihr nachträglich ein REST-API gibt und sie als Web Service nutzt. Wenn ein Web-Frontend gewollt ist, kann dies mit einer Technologie wie PHP oder Ruby on Rails realisiert werden, die auf diesem REST-API aufbaut.

Wenn man keinen Technologiebruch möchte oder keine serviceorientierte Architektur (SOA) braucht, kann man das Web-GUI auch direkt mit C++ implementieren. Dabei sollte man bei der Auswahl der richtigen Frameworks bedenken, dass die meisten Web-GUI-Frontend-Spezialisten keine Erfahrung mit C++ haben und die Zusammenarbeit schwierig wird, wenn dies zu viel Wissen über C++ voraussetzt.

Sicherheit

Ein dritter Grund, der für C++ auf dem Webserver spricht, ist das Thema Sicherheit. Viele der hier vorgestellten Frameworks verwenden kein Templatesystem, das in Echtzeit Code generiert und interpretiert, sondern wandeln die HTML-Templates zur Compilerzeit in Maschinencode um. Dies wird es dem Angreifer schwer machen, den Servercode unterzuschieben. Es ist nicht möglich, den Code auf dem Webserver neu zu übersetzen, wenn der Angreifer den Sourcecode nicht besitzt und es auch keinen Compiler oder Interpreter gibt, um eigenen Code zu übersetzen oder auszuführen.

Ich habe im Laufe meiner Recherchen bisher dreizehn Projekte entdeckt, die sich mit C++ als Technologiebasis für Webprogrammierung ...

Webprogrammierung mit C++

Welches Framework darf es sein?

Olaf Radicke


Es gibt eine Vielzahl an Möglichkeiten, mit C++ Webprogrammierung zu betreiben. Und auch wenn es so scheint, ist die Sprache im Bereich der Webprogrammierung alles andere als unterrepräsentiert – Frameworks gibt es zur Genüge. Welches Framework das richtige ist, hängt jedoch nicht allein von technischen Fragen ab. Welche Gründe könnten also überhaupt für die Webprogrammierung mit C++ sprechen?

Geschwindigkeit

Ein Grund könnte die Geschwindigkeit sein. Alle hier vorgestellten Frameworks sind um ein Vielfaches schneller als PHP, Ruby on Rails und Java. In Zukunft könnte es aufgrund steigender Energiekosten ein wichtige Faktor sein, ob man in seinem Rechenzentrum zwei Racks mit Strom und Klima versorgen muss oder einhundert. Aber auch heute kann es bereits interessant sein, auf schwachen Embedded-Systemen Web Services betreiben zu können, die für Java-Application-Server zu schwach oder deren Speicher zu klein sind.

Investitionsschutz

Ein anderer Grund könnte Investitionsschutz sein, wenn eine bestehende C++-Applikation zu wertvoll ist, um sie komplett neu zu reimplementieren. In diesem Fall ist es mit relativ wenig Aufwand möglich, eine Applikation „Cloud-fähig“ zu machen, indem man ihr nachträglich ein REST-API gibt und sie als Web Service nutzt. Wenn ein Web-Frontend gewollt ist, kann dies mit einer Technologie wie PHP oder Ruby on Rails realisiert werden, die auf diesem REST-API aufbaut.

Wenn man keinen Technologiebruch möchte oder keine serviceorientierte Architektur (SOA) braucht, kann man das Web-GUI auch direkt mit C++ implementieren. Dabei sollte man bei der Auswahl der richtigen Frameworks bedenken, dass die meisten Web-GUI-Frontend-Spezialisten keine Erfahrung mit C++ haben und die Zusammenarbeit schwierig wird, wenn dies zu viel Wissen über C++ voraussetzt.

Sicherheit

Ein dritter Grund, der für C++ auf dem Webserver spricht, ist das Thema Sicherheit. Viele der hier vorgestellten Frameworks verwenden kein Templatesystem, das in Echtzeit Code generiert und interpretiert, sondern wandeln die HTML-Templates zur Compilerzeit in Maschinencode um. Dies wird es dem Angreifer schwer machen, den Servercode unterzuschieben. Es ist nicht möglich, den Code auf dem Webserver neu zu übersetzen, wenn der Angreifer den Sourcecode nicht besitzt und es auch keinen Compiler oder Interpreter gibt, um eigenen Code zu übersetzen oder auszuführen.

Ich habe im Laufe meiner Recherchen bisher dreizehn Projekte entdeckt, die sich mit C++ als Technologiebasis für Webprogrammierung ...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang