Utgivelse av Brython 3.11, implementeringer av Python-språket for nettlesere

En utgivelse av Brython 3.11 (Browser Python)-prosjektet har blitt presentert med en implementering av Python 3-programmeringsspråket for kjøring på nettlesersiden, som tillater bruk av Python i stedet for JavaScript for å utvikle skript for nettet. Prosjektkoden er skrevet i Python og distribuert under BSD-lisensen.

Ved å inkludere bibliotekene brython.js og brython_stdlib.js, kan en nettutvikler bruke Python-språket til å definere logikken til nettstedet på klientsiden, ved å bruke Python i stedet for JavaScript. For å inkludere Python-kode på sider, bruk taggen с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

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

Den endelige ytelsen til de fleste operasjoner i Python-skript innebygd i nettsider er nær ytelsen til CPython. Forsinkelsen oppstår bare på kompileringsstadiet, men for å eliminere den, er det gitt muligheten til å laste inn forhåndskompilert JavaScript-kode, som brukes til å øke hastigheten på lasting av standardbiblioteket (Brython gir verktøy for å lage JavaScript-biblioteker basert på Python-moduler ).

Den nye utgivelsen er kjent for å gi kompatibilitet med CPython 3.11 og implementere de fleste av de nye funksjonene i denne grenen, inkludert støtte for unntaksgrupper og uttrykket «unntatt*», detaljering av problematiske uttrykk i diagnostiske meldinger og vedlegg av merknader til unntak.

Kilde: opennet.ru

Legg til en kommentar