Пускане на Brython 3.11, реализация на Python за web-браузъри

Представен е релизът на проекта Brython 3.11 (Browser Python) с реализация на езика за програмиране Python 3 за изпълнение в уеб браузъра, което позволява използването на Python вместо JavaScript за разработка на скриптове за уеб. Кодът на проекта е написан на Python и се разпространява под лицензия BSD.

Чрез включването на библиотеките brython.js и brython_stdlib.js, уеб разработчикът може да използва Python за определяне на логиката на работа на сайта от страна на клиента, прилагайки Python вместо JavaScript. За вграждане на Python код в страниците се използва етикет с mime тип «text/python». Поддържа се както вграждане на код в страницата, така и зареждане на външни скриптове (). От скрипта се предоставя пълен достъп до елементите и събитията на DOM. Освен достъпа до стандартната библиотека на Python, се предлагат специализирани библиотеки за взаимодействие с DOM и JavaScript библиотеки като jQuery, D3, Highcharts и Raphael. Поддържа се използването на CSS рамки Bootstrap3, LESS и SASS.

Изпълнение на Python код от блокове <script> производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).

Крайната производителност на повечето операции в вградени в уеб страниците Python скриптове е близка до производителността на CPython. Забавяне възниква само на етапа на компилация, но за нейното премахване се предлага възможност за зареждане на предварително компилиран JavaScript код, който се прилага за ускорение на зареждането на стандартната библиотека (Brython предоставя инструмент за създаване на JavaScript библиотеки на базата на Python модули).

Новото издание е забележително с осигуряване на съвместимост с CPython 3.11 и реализиране на голяма част от новите възможности на тази версия, включително поддръжка на групи с изключения и израза „except*“, детайлизиране на проблемни изрази в диагностични съобщения и прикачане на бележки към изключения.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster