Está disponible el lanzamiento del proyecto Brython 3.15.0 (Browser Python) con la implementación del lenguaje de programación Python 3 para navegadores web, que permite utilizar Python en lugar de JavaScript para el desarrollo de scripts para la web. En la rama Brython 3.15 se ha asegurado la compatibilidad con CPython 3.15 y se han implementado la gran mayoría de las nuevas características de esta versión, incluyendo la importación diferida de módulos, los tipos frozendict y sentinel, y los operadores "*" y "**" para desempaquetar comprensiones de listas. El código del proyecto está escrito en Python y se distribuye bajo la licencia BSD.
Al conectar las bibliotecas brython.js y brython_stdlib.js, el desarrollador web puede utilizar el lenguaje Python para definir la lógica del sitio en el lado del cliente, aplicando Python en lugar de JavaScript. Para incluir código de Python en las páginas, se utiliza la etiqueta con el tipo MIME «text/python». Se permite tanto la inclusión de código directamente en la página como la carga de scripts externos (). Desde el script, se tiene acceso total a los elementos y eventos del DOM. Además del acceso a la biblioteca estándar de Python, se ofrecen bibliotecas especializadas para interactuar con el DOM y bibliotecas de JavaScript, como jQuery, D3, Highcharts y Raphael. Se admite el uso de frameworks CSS como Bootstrap3, LESS y SASS.
Ejecución de código Python desde bloques <script> производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера.
El rendimiento final de la mayoría de las operaciones en scripts de Python integrados en páginas web es similar al rendimiento de CPython. La latencia solo ocurre en la etapa de compilación, pero se ofrece la opción de cargar código previamente compilado en JavaScript, lo que se utiliza para acelerar la carga de la biblioteca estándar (Brython proporciona herramientas para crear bibliotecas JavaScript basadas en módulos de Python).
Fuente: opennet.ru
