Hoʻokuʻu ʻia ʻo Brython 3.10, hoʻokō i ka ʻōlelo Python no nā polokalamu kele pūnaewele

Ua hōʻike ʻia kahi hoʻokuʻu o ka papahana Brython 3.10 (Browser Python) me ka hoʻokō ʻana i ka ʻōlelo hoʻolālā Python 3 no ka hoʻokō ʻana ma ka ʻaoʻao polokalamu kele pūnaewele, e ʻae ana i ka hoʻohana ʻana iā Python ma kahi o JavaScript e hoʻomohala i nā palapala no ka Pūnaewele. Ua kākau ʻia ke code papahana ma Python a hāʻawi ʻia ma lalo o ka laikini BSD.

Ma ka hoʻokomo ʻana i nā hale waihona puke brython.js a me brython_stdlib.js, hiki i kahi mea hoʻomohala pūnaewele ke hoʻohana i ka ʻōlelo Python e wehewehe i ka manaʻo o ka pūnaewele ma ka ʻaoʻao o ka mea kūʻai aku, me ka hoʻohana ʻana iā Python ma kahi o JavaScript. E hoʻokomo i ka code Python ma nā ʻaoʻao, e hoʻohana i ka tag с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

Ke hoʻokō nei i ke code Python mai nā poloka производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).

ʻO ka hana hope loa o ka hapa nui o nā hana ma nā palapala Python i hoʻokomo ʻia i nā ʻaoʻao pūnaewele kokoke i ka hana a CPython. Loaʻa ka lohi i ka pae hōʻuluʻulu, akā no ka hoʻopau ʻana, hāʻawi ʻia ka hiki ke hoʻouka i ka code JavaScript pre-compiled, i hoʻohana ʻia e wikiwiki i ka hoʻouka ʻana o ka waihona maʻamau (Hāʻawi ʻo Brython i nā mea hana no ka hana ʻana i nā waihona JavaScript e pili ana i nā modules Python. ).

Hōʻike ka hoʻokuʻu hou i ka hoʻohālikelike ʻana me Python 3.10, me ke kākoʻo no ka hoʻohālikelike ʻana i nā kumu (match/case) operator. Hāʻawi ka mana hou i ka hoʻokō mua ʻana i kahi kumulāʻau abstract syntax (AST, Abstract Syntax Tree) no ka ʻōlelo Python, hiki ke hoʻohana ʻia e hana i ka code JavaScript mai kahi AST honua.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka