Veröffentlichung von Brython 3.10, Implementierungen der Python-Sprache für Webbrowser

Eine Veröffentlichung des Projekts Brython 3.10 (Browser Python) wurde mit einer Implementierung der Programmiersprache Python 3 zur Ausführung auf der Webbrowser-Seite vorgestellt, die die Verwendung von Python anstelle von JavaScript zur Entwicklung von Skripten für das Web ermöglicht. Der Projektcode ist in Python geschrieben und wird unter der BSD-Lizenz vertrieben.

Durch die Einbindung der Bibliotheken brython.js und brython_stdlib.js kann ein Webentwickler die Python-Sprache verwenden, um die Logik der Site auf der Clientseite zu definieren, indem er Python anstelle von JavaScript verwendet. Um Python-Code in Seiten einzubinden, verwenden Sie das Tag с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

Ausführen von Python-Code aus Blöcken производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).

Die endgültige Leistung der meisten Vorgänge in in Webseiten eingebetteten Python-Skripten kommt der Leistung von CPython nahe. Die Verzögerung tritt nur in der Kompilierungsphase auf, aber um sie zu beseitigen, wird die Möglichkeit bereitgestellt, vorkompilierten JavaScript-Code zu laden, der das Laden der Standardbibliothek beschleunigt (Brython bietet Tools zum Erstellen von JavaScript-Bibliotheken basierend auf Python-Modulen). ).

Die neue Version bietet Kompatibilität mit Python 3.10, einschließlich Unterstützung für Mustervergleichsoperatoren (Match/Case). Die neue Version bietet außerdem eine erste Implementierung eines abstrakten Syntaxbaums (AST, Abstract Syntax Tree) für die Python-Sprache, der anschließend zur Generierung von JavaScript-Code aus einem universellen AST verwendet werden kann.

Source: opennet.ru

Kommentar hinzufügen