Выпуск Brython 3.11, рэалізацыі мовы Python для web-браўзэраў

Прадстаўлены рэліз праекта Brython 3.11 (Browser Python) з рэалізацыяй мовы праграмавання Python 3 для выканання на баку web-браўзэра, якая дазваляе выкарыстоўваць Python замест JavaScript для распрацоўкі скрыптоў для Web. Код праекту напісаны на мове Python і распаўсюджваецца пад ліцэнзіяй BSD.

Падлучыўшы бібліятэкі brython.js і brython_stdlib.js, web-распрацоўшчык можа выкарыстоўваць мову Python для вызначэння логікі працы сайта на баку кліента, ужываючы Python замест JavaScript. Для ўключэння Python-кода на старонкі выкарыстоўваецца тэг с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

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

Выніковая прадукцыйнасць большасці аперацый ва ўбудаваных у web-старонкі Python-сцэнарах блізкая да прадукцыйнасці CPython. Затрымка ўзнікае толькі на этапе кампіляцыі, але для яе ўхілення падаецца магчымасць загрузкі папярэдне скампіляванага ў JavaScript кода, якая ўжываецца для паскарэння загрузкі стандартнай бібліятэкі (Brython падае інструментар для стварэння JavaScript-бібліятэк на аснове модуляў Python).

Новы выпуск адметны забеспячэннем сумяшчальнасці з CPython 3.11 і рэалізацыяй большай часткі новых магчымасцяў дадзенай галінкі, уключаючы падтрымку груп выключэнняў і выразы «except*», дэталізацыі праблемных выразаў у дыягнастычных паведамленнях і прымацаванні нататак да выключэнняў.

Крыніца: opennet.ru

Дадаць каментар