hmm: Java Script Frontend und C++ Backend?

Hi Leute,

ich möchte eine kleine Webseite bei Azure erstellen. Auf der Seite möchte ich eine Software zum Thema Zonotope veröffentlichen, diese wiederum habe ich in C++ im Rahmen eines Seminars geschrieben.

Bau ich die Webseite mit einem JavaScript Frontend und einem C++ Backend oder wäre ein anderer Weg effizienter? Eine Seite von mir läuft mit einem Scala Backeend, dem Scala Play Framework und einem JavaScript Frontend. Wie mache ich dass mit einem C++ Backend? Was wäre der Standartweg?

  1. Kannst du noch näher erläutern was du unter Frontend und Backend verstehst? Du Begriffe sind leider hilflos überladen. Im Rest meiner Antwort gehe ich davon aus, dass du mit Backend den Webserver und mit Frontend den Webclient meinst.

    Die Standardlösung gibt es wie so oft nicht. Hier sind nur zwei von vielen Möglichkeiten:

    Kapsle deine C++-Bibliothek in einem Node.js-Addon. Dann kannst du die Webserver-Logik völlig getrennt in einer Node.js-Anwendung entwickeln, dafür musst du lediglich das zuvor erstellte Addon importieren.

    Wenn du dich mit C++ wohler fühlst als mit JavaScript, könntest du auch aus einer C++-Anwendung einen standalone Webserver starten. Dafür gibt es mit Sicherheit ein paar fertige HTTP-Server-Module.

  2. Was wäre der Standartweg?

    Naja. Wie in Postdam, Schlosspark Sanssouci. Die Kunst auf beiden Seiten eines Weges aufstellen, aber darauf achten, dass diese auch stehen bleibt. Und fertig: "Stand-Art-Weg."

    Klaut jemand die aufgestellte Kunst, dann ist das "Stand-Art-weg".

    Standardweg?

    Ich gehe mal davon aus, dass ein Webserver läuft und Dateien mit der Endung cgi ausführt. Das hat ja eine gewisse Tradition.

    Die Datei test.cpp

    #include <iostream> 
    
    int main() 
    { 
      std::cout << "Content-type: text/html\n\n" << std::endl; 
      std::cout << "<h1>hallo Welt</h1>\n" << std::endl; 
    } 
    

    dann also > g++ test.cpp -o /var/www/test.cgi

    ggf.

    > chmod 755 /var/www/test.cgi

    ... und dann im Browser:

    http://localhost/test.cgi

    Alternativ-Text

    Bingo!

  3. Thomas Boutell's cgic library wäre da evntl. was für Dich. Damit hab ich auch schon gearbeitet.

    Rentnergruß 😉