Udgivelsen af Brython 3.11 (Browser Python)-projektet præsenteres med implementeringen af programmeringssproget Python 3 til udførelse på webbrowsersiden, hvilket tillader brugen af Python i stedet for JavaScript til udvikling af scripts til internettet. Projektkoden er skrevet i Python og distribueres under BSD-licensen.
Ved at inkludere bibliotekerne brython.js og brython_stdlib.js kan en webudvikler bruge Python til at definere logikken på et websted på klientsiden ved hjælp af Python i stedet for JavaScript. For at inkludere Python-kode på sider skal du bruge tagget с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.
Udførelse af Python-kode fra blokke производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).
Den endelige ydeevne af de fleste operationer i Python-scripts indlejret i websider er tæt på ydeevnen af CPython. Forsinkelsen opstår kun på kompileringsstadiet, men for at eliminere den er muligheden for at indlæse præ-kompileret JavaScript-kode, som bruges til at fremskynde indlæsningen af standardbiblioteket (Brython leverer værktøjer til at oprette JavaScript-biblioteker baseret på Python-moduler ).
Den nye udgivelse er bemærkelsesværdig ved at bringe kompatibilitet med CPython 3.11 og implementere de fleste af de nye funktioner i denne gren, herunder understøttelse af undtagelsesgrupper og udtrykket "except*", detaljering af problematiske udtryk i diagnostiske meddelelser og vedhæftning af noter til undtagelser.
Kilde: opennet.ru
