JavaScript und andere Sprachen: Wie man Frontend mit Backend verbindet

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

JavaScript – die diplomatische Sprache: Wie sie sich mit Python, C++ und anderen verständigt

\n\n

Die Entwicklungswelt ist längst nicht mehr „einsprachig“. Vorbei sind die Zeiten, in denen Projekte ausschließlich in PHP oder Java geschrieben wurden. Heute leben wir im Zeitalter des polyglotten Programmierens, und JavaScript spielt in diesem Ökosystem die Rolle des Chefdiplomaten. Es kann mit jedem zusammenarbeiten: von Python bis C++, von Go bis Rust. Die Frage ist nur, wie genau man das organisiert.

\n\n

Lassen Sie uns herausfinden, wie man JavaScript mit anderen Sprachen integriert. Ohne Umschweife, mit echten Codebeispielen und praktischen Szenarien. Sie erfahren, wie Sie Frontend und Backend dazu bringen, im Einklang zu arbeiten, anstatt sich zu bekriegen.

\n\n

Warum überhaupt JavaScript mit anderen Sprachen kombinieren?

\n\n

Man könnte meinen, warum komplizieren? Es gibt Node.js – schreib alles in JS. Aber die Realität ist komplexer. Jede Sprache hat ihre eigenen Superkräfte:

\n\n
    \n
  • Python – der König des maschinellen Lernens und der Datenwissenschaft. JS ist hier machtlos.
  • \n
  • C++ – maximale Leistung für Spiele und Grafik.
  • \n
  • Java – Zuverlässigkeit für Unternehmenslösungen.
  • \n
  • Go – Asynchronität und Geschwindigkeit in Microservices.
  • \n
\n\n

Die Integration von JavaScript mit diesen Sprachen ermöglicht es, das Beste aus jeder Welt zu nutzen. Sie erhalten eine schöne Oberfläche in React und leistungsstarke Analysen in Python unter der Haube. Klingt wie ein Traum? Machen wir ihn wahr.

\n\n

Möglichkeiten der Integration von JavaScript mit Python

\n\n

1. Python aus Node.js über child_process aufrufen

\n\n

Der einfachste und direkteste Weg ist, ein Python-Skript als untergeordneten Prozess zu starten. Das ist nicht elegant, funktioniert aber überall.

\n\n
// app.js – Node.js ruft Python auf\nconst { exec } = require('child_process');\n\nfunction analyzeSentiment(text) {\n    return new Promise((resolve, reject) => {\n        exec(`python3 sentiment.py "${text}"`, (error, stdout, stderr) => {\n            if (error) return reject(error);\n            resolve(stdout.trim());\n        });\n    });\n}\n\n// Verwendung\n(async () => {\n    const result = await analyzeSentiment('JavaScript ist die beste Sprache!');\n    console.log(`Stimmung: ${result}`);\n})();\n
\n\n

Und hier das Python-Skript selbst:

\n\n
# sentiment.py\nimport sys\nfrom textblob import TextBlob\n\ntext = sys.argv[1]\nblob = TextBlob(text)\nprint(blob.sentiment.polarity)\n
\n\n

Nachteil: Jeder Aufruf ist ein neuer Prozess. Verwenden Sie für die Produktion python-shell oder zerorpc.

\n\n

2. Verbindung über REST API (Flask + Node.js)

\n\n

Ein besserer Ansatz ist, einen Microservice in Python zu starten und über HTTP mit ihm zu kommunizieren.

\n\n
# server.py – Python Flask API\nfrom flask import Flask, request, jsonify\nimport joblib\n\napp = Flask(__name__)\nmodel = joblib.load('model.pkl')\n\n@app.route('/predict', methods=['POST'])\ndef predict():\n    data = request.json\n    prediction = model.predict([data['features']])\n    return jsonify({'result': prediction.tolist()})\n\nif __name__ == '__main__':\n    app.run(port=5000)\n
\n\n

Auf der JavaScript-Seite:

\n\n
// client.js – Node.js Client\nasync function getPrediction(features) {\n    const response = await fetch('http://localhost:5000/predict', {\n        method: 'POST',\n        headers: { 'Content-Type': 'application/json' },\n        body: JSON.stringify({ features })\n    });\n    return response.json();\n}\n\n// Beispielaufruf\ngetPrediction([1.2, 3.4, 5.6]).then(console.log);\n
\n\n

Dieser Ansatz wird in 90% der Fälle bei der Integration von JavaScript mit Python verwendet. Microservice-Architektur regiert.

\n\n

3. Python im Browser: Brython und Pyodide

\n\n

Möchten Sie Python direkt im Frontend ausführen? Verwenden Sie Pyodide – den WebAssembly-Port von CPython.

\n\n
<!DOCTYPE html>\n<html>\n<head>\n    <script src="https://cdn.jsdelivr.                

Blogs

Buchempfehlungen