Väljalase Brython 3.10, Pythoni keele juurutused veebibrauseritele

Esitatud on projekti Brython 3.10 (Browser Python) väljalase koos Python 3 programmeerimiskeele juurutamisega veebibrauseri poolel täitmiseks, mis võimaldab veebiskriptide arendamiseks JavaScripti asemel kasutada Pythonit. Projekti kood on kirjutatud Pythonis ja levitatakse BSD litsentsi all.

Lisades teegid brython.js ja brython_stdlib.js, saab veebiarendaja kasutada Pythoni keelt, et määratleda saidi loogika kliendi poolel, kasutades JavaScripti asemel Pythonit. Pythoni koodi lisamiseks lehtedele kasutage märgendit с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

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

Enamiku veebilehtedele manustatud Pythoni skriptide toimingute lõplik jõudlus on lähedane CPythoni jõudlusele. Viivitus ilmneb ainult kompileerimisetapis, kuid selle kõrvaldamiseks on ette nähtud võimalus laadida eelkompileeritud JavaScripti koodi, mida kasutatakse standardteegi laadimise kiirendamiseks (Brython pakub tööriistu Pythoni moodulitel põhinevate JavaScripti teekide loomiseks ).

Uuel väljaandel on ühilduvus Python 3.10-ga, sealhulgas mustrite sobitamise (vastavus/suurtähtede) operaatorite tugi. Uus versioon pakub Pythoni keele jaoks ka abstraktse süntaksipuu (AST, Abstract Syntax Tree) esialgset juurutamist, mida saab hiljem kasutada JavaScripti koodi genereerimiseks universaalsest AST-st.

Allikas: opennet.ru

Lisa kommentaar