Выпуск Brython 3.9, рэалізацыі мовы Python для web-браўзэраў

Апублікаваны рэліз праекта Brython 3.9 (Browser Python) з рэалізацыяй мовы праграмавання Python 3 для выканання на баку web-браўзэра, якая дазваляе выкарыстоўваць Python замест JavaScript для распрацоўкі скрыптоў для Web. Код праекта напісаны на мове Python і распаўсюджваецца пад ліцэнзіяй BSD. Новы выпуск адметны забеспячэннем сумяшчальнасці з Python 3.9 і абнаўленнем стандартнай бібліятэкі.

Падлучыўшы бібліятэкі brython.js и brython_stdlib.js, web-распрацоўшчык можа выкарыстоўваць мова Python для вызначэння логікі працы сайта на баку кліента, ужываючы Python замест JavaScript. Для ўключэння Python-кода на старонкі выкарыстоўваецца тэг з mime-тыпам "text/python". Дапушчаецца як убудаванне кода на старонку, так і загрузка вонкавых скрыптоў (<script type=»text/python» src=»test.py»). Са скрыпту падаецца поўны доступ да элементаў і падзей DOM.
Апроч доступу да стандартнай бібліятэкі Python прапануюцца спецыялізаваныя бібліятэкі для ўзаемадзеяння з DOM і JavaScript-бібліятэкамі, такімі як jQuery, D3, Highcharts і Raphael. Падтрымліваецца выкарыстанне CSS-фрэймворкаў Bootstrap3, LESS і SASS.

Выкананне Python-кода з блокаў вырабляецца праз папярэднюю кампіляцыю гэтага калі, выкананую апрацоўшчыкам Brython пасля загрузкі старонкі. Кампіляцыя ініцыюецца пры дапамозе выкліку функцыі brython(), напрыклад праз даданне "». На аснове Python кода фармуецца ўяўленне на мове JavaScript, якое затым выконваецца штатным JavaScript-рухавічком браўзэра (для параўнання, праект PyPy.js прапануе для выканання Python-кода ў браўзэры скампіляваны ў asm.js інтэрпрэтатар CPython, а Skulpt рэалізуе інтэрпрэтатар на JavaScript).

Выніковая прадукцыйнасць большасці аперацый ва ўбудаваных у web-старонкі Python-сцэнарах блізкая да прадукцыйнасці CPython. Затрымка ўзнікае толькі на этапе кампіляцыі, але для яе ўхілення падаецца магчымасць загрузкі папярэдне скампіляванага ў JavaScript кода, якая ўжываецца для паскарэння загрузкі стандартнай бібліятэкі (Brython дае інструментарый для стварэння JavaScript-бібліятэк на аснове модуляў Python).

час імпарту
імпарт матэм

from browser import document
import browser.timer

content = document[«content»]

...

canvas = content.select_one(".clock")

if hasattr(canvas, 'getContext'):
ctx = canvas.getContext("2d")

browser.timer.set_interval(set_clock, 100)
show_hours()
яшчэ:
content.select_one('.navig_zone').html = "canvas is not supported"

Крыніца: opennet.ru

Дадаць каментар