Väljalase Brython 3.11, Pythoni keele juurutused veebibrauseritele

Projekti Brython 3.11 (Browser Python) väljalaset on esitletud 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 ).

Uus versioon on tähelepanuväärne selle poolest, et pakub ühilduvust CPython 3.11-ga ja juurutab enamiku selle haru uutest funktsioonidest, sealhulgas erandite rühmade ja väljendi "välja arvatud*" tugi, probleemsete väljendite üksikasjad diagnostikasõnumites ja märkuste lisamine eranditele.

Allikas: opennet.ru

Lisa kommentaar