Release av Brython 3.11, implementeringar av Python-språket för webbläsare

En utgåva av projektet Brython 3.11 (Browser Python) har presenterats med en implementering av programmeringsspråket Python 3 för exekvering på webbläsarsidan, vilket tillåter användning av Python istället för JavaScript för att utveckla skript för webben. Projektkoden är skriven i Python och distribueras under BSD-licensen.

Genom att inkludera biblioteken brython.js och brython_stdlib.js kan en webbutvecklare använda Python-språket för att definiera logiken för webbplatsen på klientsidan, med Python istället för JavaScript. Använd taggen för att inkludera Python-kod på sidor с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

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

Den slutliga prestandan för de flesta operationer i Python-skript inbäddade i webbsidor är nära prestandan för CPython. Fördröjningen inträffar endast i kompileringsstadiet, men för att eliminera den tillhandahålls möjligheten att ladda förkompilerad JavaScript-kod, som används för att påskynda laddningen av standardbiblioteket (Brython tillhandahåller verktyg för att skapa JavaScript-bibliotek baserade på Python-moduler ).

Den nya utgåvan är känd för att tillhandahålla kompatibilitet med CPython 3.11 och implementera de flesta av de nya funktionerna i denna gren, inklusive stöd för undantagsgrupper och uttrycket "except*", detaljerade problematiska uttryck i diagnostiska meddelanden och bifoga anteckningar till undantag.

Källa: opennet.ru

Lägg en kommentar