Brython 3.10, Python valodas implementācijas tīmekļa pārlūkprogrammām, izlaidums

Ir prezentēts Brython 3.10 (Browser Python) projekta laidiens ar Python 3 programmēšanas valodas ieviešanu izpildei tīmekļa pārlūkprogrammas pusē, kas ļauj izmantot Python, nevis JavaScript, lai izstrādātu skriptus tīmeklim. Projekta kods ir rakstīts Python un tiek izplatīts saskaņā ar BSD licenci.

Iekļaujot bibliotēkas brython.js un brython_stdlib.js, tīmekļa izstrādātājs var izmantot Python valodu, lai definētu vietnes loģiku klienta pusē, izmantojot Python, nevis JavaScript. Lai lapās iekļautu Python kodu, izmantojiet tagu с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

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

Lielākā daļa darbību ar Python skriptiem, kas iegulti tīmekļa lapās, ir tuvu CPython veiktspējai. Aizkave notiek tikai kompilācijas stadijā, bet tās novēršanai tiek nodrošināta iespēja ielādēt iepriekš kompilētu JavaScript kodu, kas tiek izmantots, lai paātrinātu standarta bibliotēkas ielādi (Brython nodrošina rīkus JavaScript bibliotēku izveidei uz Python moduļiem ).

Jaunajā laidienā ir nodrošināta saderība ar Python 3.10, tostarp atbalsts modeļu saskaņošanas (atbilstības/reģistra) operatoriem. Jaunā versija piedāvā arī sākotnējo abstraktā sintakses koka (AST, Abstract Syntax Tree) ieviešanu Python valodai, ko pēc tam var izmantot, lai ģenerētu JavaScript kodu no universāla AST.

Avots: opennet.ru

Pievieno komentāru