Нашри Brython 3.11, татбиқи забони Python барои браузерҳои веб

Нашри лоиҳаи Brython 3.11 (Browser Python) бо татбиқи забони барномасозии Python 3 барои иҷро дар тарафи браузери веб муаррифӣ шуд, ки имкон медиҳад истифодаи Python ба ҷои JavaScript барои таҳияи скриптҳо барои веб. Рамзи лоиҳа дар Python навишта шудааст ва таҳти иҷозатномаи BSD паҳн карда мешавад.

Бо дохил кардани китобхонаҳои brython.js ва brython_stdlib.js, таҳиягари веб метавонад забони Python-ро барои муайян кардани мантиқи сайт дар тарафи муштарӣ, бо истифода аз Python ба ҷои JavaScript истифода барад. Барои дохил кардани рамзи Python дар саҳифаҳо, тегро истифода баред с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям 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).

Иҷрои ниҳоии аксари амалиётҳо дар скриптҳои Python, ки дар саҳифаҳои веб ҷойгир шудаанд, ба иҷрои CPython наздик аст. Таъхир танҳо дар марҳилаи компиляция рух медиҳад, аммо барои бартараф кардани он, қобилияти бор кардани коди қаблан тартибдодашудаи JavaScript таъмин карда мешавад, ки он барои суръат бахшидан ба боркунии китобхонаи стандартӣ истифода мешавад (Brython асбобҳоро барои эҷоди китобхонаҳои JavaScript дар асоси модулҳои Python таъмин мекунад. ).

Нашри нав барои таъмини мутобиқат бо CPython 3.11 ва татбиқи аксари хусусиятҳои нави ин филиал, аз ҷумла дастгирии гурӯҳҳои истисноӣ ва ифодаи "ба истиснои*", тафсилоти ифодаҳои мушкилот дар паёмҳои ташхис ва замима кардани қайдҳо ба истисноҳо назаррас аст.

Манбаъ: opennet.ru

Илова Эзоҳ