Eine neue Version von "Python für Browser" ist erschienen, treffen Sie Brython 3.9



Brython Python-Code (Screenshot - Version 3.8.8)



Die Entwickler des Brython Python-Projekts haben eine neue Version veröffentlicht, Brython 3.9 . Das Projekt selbst ist als "Python für den Browser" positioniert. Es basiert auf Python 3 und wird auf der Browserseite ausgeführt, wobei Python anstelle von JavaScript zum Entwickeln von Web-Skripten verwendet wird.



Der Projektcode ist in Python geschrieben und wird unter der BSD-Lizenz vertrieben. Die neue Version ist mit Python 3.9 kompatibel und die Standardbibliothek wurde aktualisiert.



Um die Logik der clientseitigen Site mithilfe von Python anstelle von JS zu definieren, muss ein Webentwickler zwei Bibliotheken einschließen, brython.js und brython_stdlib.js. Um Python-Code in eine Seite aufzunehmen, wird ein Skript- Tag mit einem MIME- Text / Python verwendet .



Auf der Brython-Seite ist es zulässig, sowohl Code in die Seite einzubetten als auch externe Skripte zu laden. Beispiel:



<script type="text/python" src="test.py">


Der vollständige Zugriff auf DOM-Elemente und -Ereignisse wird über das Skript bereitgestellt. Neben dem Zugriff auf die Python-Standardbibliothek gibt es spezielle Bibliotheken für die Arbeit mit DOM- und JavaScript-Bibliotheken wie jQuery, D3, Highcharts und Raphael.



Die Verwendung von CSS-Frameworks wird von JavaScript-Bibliotheken wie jQuery, D3, Highcharts und Raphael unterstützt.



Python - Blöcke werden von exekutierten Skriptblöcken durch Code Vorkompilierung, die von dem Brython Motor ausgeführt wird , nachdem die Seite geladen wird. Die Kompilierung wird durch Aufrufen der Funktion brython () gestartet , z. B. durch Anhängen body onload="brython()".



Basierend auf dem Python-Code wird eine JS-Darstellung gebildet, die dann von der Standard-JavaScript-Engine des Browsers ausgeführt wird.



In Bezug auf die Leistung entsprechen die meisten Vorgänge in Python-Skripten, die in Webseiten eingebettet sind, der Leistung von Cpython. Die einzige Verzögerung tritt während der Kompilierungsphase auf. Die Latenz kann jedoch durch vorkompilierten JavaScript-Code beseitigt werden, der das Laden der Standardbibliothek beschleunigt.



<script type="text/python">
 
import time
import math
 
from browser import document
import browser.timer
 
content = document["content"]
 
...
 
canvas = content.select_one(".clock")
 
if hasattr(canvas, 'getContext'):
    ctx = canvas.getContext("2d")
 
    browser.timer.set_interval(set_clock, 100)
    show_hours()
else:
    content.select_one('.navig_zone').html = "canvas is not supported"
 
</script>


Mehr zum Laufen von Brython



Damit "Python für den Browser" Python-Code wie JS-Code sowohl übersetzen als auch ausführen kann, müssen Sie Brython aufrufen, wenn der Dokumententext geladen wird.



<body onload="brython()">


In diesem Fall sucht das Tag nach Skript-Tags vom Typ text / python und führt den Code aus. Um die API für die Arbeit mit dem Web zu verwenden, implementierten die Brython-Entwickler eine einfache Lösung: das Importieren einer API, ähnlich wie beim Importieren eines anderen Moduls in Python:



from browser import document, html, window


Brython erledigt alles alleine, sodass keine zusätzlichen Befehle ausgeführt werden müssen.



Ein wichtiger Punkt - um mit Brython arbeiten zu können, benötigen Sie Erfahrung mit JavaScript, zumindest eine Grundstufe. Ohne dies wird es ziemlich schwierig sein, es herauszufinden.






All Articles