Brython: Python statt JavaScript

  Ralf Hersel   Lesezeit: 3 Minuten  🗪 2 Kommentare

Clientseitige Programmierung von Webseiten in Python.

brython: python statt javascript

Das Projekt Brython in der aktuellen Version 3.10 ist eine Implementierung der Programmiersprache Python 3, die es ermöglicht, Python anstelle von JavaScript zur Entwicklung von Skripten für das Web zu verwenden. Der Projektcode ist in Python geschrieben und wird unter der BSD-Lizenz vertrieben.


Durch die Verbindung der Bibliotheken brython.js und brython_stdlib.js kann ein Webentwickler die Logik der clientseitigen Website mit Python anstelle von JavaScript definieren. Um Python-Code in Seiten einzubinden, verwendet man den <script>-Tag mit dem Mime-Typ "text / python". Sowohl das Einbetten von Code in die Seite als auch das Laden externer Skripte (<script type = "text / python" src = "test.py">) sind erlaubt. Das Skript bietet vollen Zugriff auf DOM-Elemente und Ereignisse. Zusätzlich zum Zugriff auf die Python-Standardbibliothek werden spezielle Bibliotheken für die Interaktion mit dem DOM und JavaScript-Bibliotheken wie jQuery, D3, Highcharts und Raphael angeboten. Die Verwendung der CSS-Frameworks Bootstrap3, LESS und SASS wird unterstützt.

Die Ausführung von Python-Code aus <script>-Blöcken erfolgt durch Vorkompilierung dieses Codes durch die Brython-Engine, nachdem die Seite geladen wurde. Die Kompilierung wird durch den Aufruf der Funktion brython () eingeleitet, zum Beispiel durch Hinzufügen von "<body onload =" brython () ">". Auf der Grundlage des Python-Codes wird eine JavaScript-Darstellung gebildet, die dann von der Standard-JavaScript-Engine des Browsers ausgeführt wird.

Die endgültige Leistung der meisten Operationen in Python-Skripten, die in Webseiten eingebettet sind, liegt nahe an der von CPython. Die Verzögerung tritt nur in der Kompilierungsphase auf. Um sie zu beseitigen, wird die Möglichkeit geboten, vorkompilierten JavaScript-Code zu laden, was dazu dient, das Laden der Standardbibliothek zu beschleunigen (Brython bietet Werkzeuge zur Erstellung von JavaScript-Bibliotheken auf der Grundlage von Python-Modulen).

Die neue Version zeichnet sich durch ihre Kompatibilität mit Python 3.10 aus, einschliesslich der Unterstützung von Operatoren für den Mustervergleich (match / case). Die neue Version bietet auch eine erste Implementierung eines abstrakten Syntaxbaums (AST, Abstract Syntax Tree) für die Sprache Python, der später verwendet werden kann, um JavaScript-Code aus einem universellen AST zu erzeugen.

Auf der Webseite von Brython gibt es sehr viele Codebeispiele.

Quelle: https://brython.info/

Tags

Python, Brython, JavaScript, JavaScript-Bibliotheken, JavaScript-Code, Code, Skript

kamome
Geschrieben von kamome am 12. Oktober 2021 um 11:19

Coole Machbarkeitsstudie! Aber mehr als 1 MB an JS laden (und ausführen!), um Python verwenden zu können? Ich glaube, da ist JS doch besser … Traurig, dass es auch einige JS-lastige Seiten schaffen, „nativ“ so viel Boilerplate-Code zu laden!

Mesch
Geschrieben von Mesch am 21. Februar 2022 um 11:59

1 MB ist völlig egal heutzutage. Der reine Quelltext von Spiegel Online ohne alles ist schon mehr als 1 MB. Außerdem wird es bei der Übertragung eh komprimiert.