Projektveröffentlichung (Browser Python) mit der Implementierung der Programmiersprache Python 3 zur Ausführung im Webbrowser, 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 unter der BSD-Lizenz. Die neue Version zeichnet sich durch die Gewährleistung der Kompatibilität mit und der Aktualisierung der Standardbibliothek.
Durch die Anbindung von Bibliotheken und , kann der Webentwickler die Programmiersprache Python zur Definition der Logik der Website auf der Client-Seite verwenden, wobei Python anstelle von JavaScript zum Einsatz kommt. Um Python-Code in Seiten einfügen zu können, wird das Tag mit dem MIME-Typ „text/python“ verwendet. Es ist sowohl das Einbetten von Code auf die Seite als auch das Laden von externen Skripten () erlaubt. Aus dem Skript wird vollständiger Zugriff auf die DOM-Elemente und -Ereignisse bereitgestellt.
Neben dem Zugriff auf die Standardbibliothek von Python werden spezialisierte Bibliotheken angeboten, um mit dem DOM und JavaScript-Bibliotheken wie jQuery, D3, Highcharts und Raphael zu interagieren. Die Verwendung von CSS-Frameworks wie Bootstrap3, LESS und SASS wird unterstützt.
Ausführen von Python-Code aus Blöcken <script> производится через предварительную компиляцию этого когда, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект bietet zur Ausführung von Python-Code im Browser einen in asm.js kompilierten CPython-Interpreter, während einen Interpreter in JavaScript implementiert.
Die endgültige Leistung der meisten Operationen in in Webseiten eingebetteten Python-Skripten vergleichbar mit der Leistung von CPython. Die Verzögerung tritt nur während des Kompilierungsvorgangs auf, aber zur Behebung dieser wird die Möglichkeit angeboten, zuvor in JavaScript kompilierten Code zu laden, um das Laden der Standardbibliothek (Brython zur Erstellung von JavaScript-Bibliotheken auf Basis von Python-Modulen).
<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 wird nicht unterstützt"
</script>
Quelle: opennet.ru
