Wydanie Brython 3.11, implementacje języka Python dla przeglądarek internetowych

Wydanie projektu Brython 3.11 (Browser Python) zostało zaprezentowane z implementacją języka programowania Python 3 do wykonania po stronie przeglądarki internetowej, umożliwiającą używanie Pythona zamiast JavaScriptu do tworzenia skryptów dla Internetu. Kod projektu napisany jest w języku Python i rozpowszechniany na licencji BSD.

Dołączając biblioteki brython.js i brython_stdlib.js, twórca stron internetowych może używać języka Python do definiowania logiki witryny po stronie klienta, używając języka Python zamiast JavaScript. Aby umieścić kod Pythona na stronach, użyj tagu с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

Wykonywanie kodu Pythona z bloków производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).

Ostateczna wydajność większości operacji w skryptach Pythona osadzonych na stronach internetowych jest zbliżona do wydajności CPythona. Opóźnienie występuje tylko na etapie kompilacji, ale aby je wyeliminować, zapewniono możliwość załadowania prekompilowanego kodu JavaScript, który służy do przyspieszenia ładowania biblioteki standardowej (Brython udostępnia narzędzia do tworzenia bibliotek JavaScript w oparciu o moduły Pythona ).

Nowa wersja wyróżnia się zapewnieniem zgodności z CPython 3.11 i implementacją większości nowych funkcji tej gałęzi, w tym obsługi grup wyjątków i wyrażeń „except*”, wyszczególniania problematycznych wyrażeń w komunikatach diagnostycznych i dołączania notatek do wyjątków.

Źródło: opennet.ru

Dodaj komentarz