Išleistas Brython 3.11, Python kalbos diegimas žiniatinklio naršyklėms

Buvo pristatytas Brython 3.11 (naršyklės Python) projekto leidimas, kuriame įdiegta Python 3 programavimo kalba, skirta vykdyti žiniatinklio naršyklės pusėje, leidžianti naudoti Python vietoj JavaScript kuriant žiniatinklio scenarijus. Projekto kodas parašytas Python ir platinamas pagal BSD licenciją.

Įtraukdamas brython.js ir brython_stdlib.js bibliotekas, žiniatinklio kūrėjas gali naudoti Python kalbą, kad apibrėžtų svetainės logiką kliento pusėje, naudodamas Python vietoj JavaScript. Norėdami įtraukti Python kodą į puslapius, naudokite žymą su MIME tipu „text/python“. Leidžiama ir įterpti kodą puslapyje, ir įkelti išorinius scenarijus (). Scenarijus suteikia visišką prieigą prie DOM elementų ir įvykių. Be prieigos prie standartinės Python bibliotekos, ji siūlo specializuotas bibliotekas, skirtas sąveikauti su DOM ir JavaScript bibliotekomis, tokiomis kaip jQuery, D3, Highcharts ir Raphael. Palaikomas CSS sistemų Bootstrap3, LESS ir SASS naudojimas.

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

Daugumos Python scenarijų, įterptų į tinklalapius, operacijų našumas yra artimas CPython našumui. Vėlavimas atsiranda tik kompiliavimo etape, tačiau norint jį pašalinti, suteikiama galimybė įkelti iš anksto sukompiliuotą JavaScript kodą, kuris naudojamas pagreitinti standartinės bibliotekos įkėlimą (Brython suteikia įrankius JavaScript bibliotekoms kurti pagal Python modulius ).

Naujasis leidimas pasižymi suderinamumu su CPython 3.11 ir daugumos naujų šios šakos funkcijų įgyvendinimu, įskaitant išimčių grupių ir „išskyrus*“ išraiškos palaikymą, probleminių išraiškų detalizavimą diagnostikos pranešimuose ir pastabų prie išimčių pridėjimą.

Šaltinis: opennet.ru

Добавить комментарий