Достъпен е проектният релиз Brython 3.14.1 (Browser Python), който реализира програмния език Python 3 за уеб браузъри, позволяващ използването на Python вместо JavaScript за разработка на скриптове за Web. Кодът на проекта е написан на 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 модули).
Новият релиз е забележителен с пълната преработка на имплементацията на вградените типове и пренаписването на кода за разбиране на аргументите на вградените функции и методи. В клона Brython 3.14 е осигурена съвместимост с CPython 3.14 и е реализирана голяма част от новите възможности на този релиз, включително поддръжка на t-стрингове и отложена обработка на анотации.
Източник: opennet.ru
