Liberigo de Brython 3.11, efektivigoj de la Python-lingvo por TTT-legiloj

Eldono de la projekto Brython 3.11 (Retumilo-Python) estis prezentita kun efektivigo de la programlingvo Python 3 por ekzekuto ĉe la retumila flanko, permesante la uzon de Python anstataŭe de JavaScript por evoluigi skriptojn por la Reto. La projektkodo estas skribita en Python kaj distribuita sub la permesilo BSD.

Inkluzivante la bibliotekojn brython.js kaj brython_stdlib.js, retejo-programisto povas uzi la Python-lingvon por difini la logikon de la retejo ĉe la klienta flanko, uzante Python anstataŭ JavaScript. Por inkluzivi Python-kodon sur paĝoj, uzu la etikedon с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

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

La fina agado de plej multaj operacioj en Python-skriptoj enkonstruitaj en retpaĝoj estas proksima al la agado de CPython. La prokrasto okazas nur en la kompilfazo, sed por forigi ĝin, la kapablo ŝargi antaŭkompilitan JavaScript-kodon estas provizita, kiu estas uzata por akceli la ŝarĝon de la norma biblioteko (Brython disponigas ilojn por krei JavaScript-bibliotekojn bazitajn sur Python-moduloj. ).

La nova eldono estas rimarkinda pro provizado de kongruo kun CPython 3.11 kaj efektivigo de la plej multaj el la novaj funkcioj de ĉi tiu branĉo, inkluzive de subteno por esceptgrupoj kaj la esprimo "krom*", detaligante problemajn esprimojn en diagnozaj mesaĝoj, kaj alfiksante notojn al esceptoj.

fonto: opennet.ru

Aldoni komenton