Liberasyon Brython 3.11, aplikasyon lang Python pou navigatè entènèt yo

Yo te prezante yon lage nan pwojè Brython 3.11 (Browser Python) ak yon aplikasyon langaj pwogramasyon Python 3 pou ekzekisyon sou bò navigatè entènèt la, ki pèmèt itilizasyon Python olye de JavaScript pou devlope scripts pou entènèt la. Kòd pwojè a ekri nan Python epi distribye anba lisans BSD.

Lè yo enkli bibliyotèk brython.js ak brython_stdlib.js, yon pwomotè entènèt ka itilize langaj Python pou defini lojik sit la sou bò kliyan, lè l sèvi avèk Python olye pou yo JavaScript. Pou mete kòd Python sou paj, sèvi ak tag la с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

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

Pèfòmans final la nan pifò operasyon nan scripts Python entegre nan paj wèb se tou pre pèfòmans nan CPython. Reta a rive sèlman nan etap konpilasyon an, men pou elimine li, yo bay kapasite pou chaje kòd JavaScript pre-konpile, ki itilize pou pi vit chaje bibliyotèk estanda a (Brython bay zouti pou kreye bibliyotèk JavaScript ki baze sou modil Python). ).

Nouvo lage a remakab paske li bay konpatibilite ak CPython 3.11 ak mete ann aplikasyon pi fò nan nouvo karakteristik branch sa a, ki gen ladan sipò pou gwoup eksepsyon ak ekspresyon "eksepte *", ki detaye ekspresyon pwoblèm nan mesaj dyagnostik, ak tache nòt sou eksepsyon yo.

Sous: opennet.ru

Add nouvo kòmantè