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

En utgåva av projektet Brython 3.10 (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 har kompatibilitet med Python 3.10, inklusive stöd för operatörer för mönstermatchning (matchning/case). Den nya versionen erbjuder också en initial implementering av ett abstrakt syntaxträd (AST, Abstract Syntax Tree) för Python-språket, som sedan kan användas för att generera JavaScript-kod från en universell AST.

Källa: opennet.ru

Lägg en kommentar