Lanzamiento de Brython 3.10, implementación del lenguaje Python para navegadores web

Se presenta el lanzamiento del proyecto Brython 3.10 (Browser Python) con la implementación del lenguaje de programación Python 3 para su ejecución en el lado del navegador web, permitiendo utilizar Python en lugar de JavaScript para el desarrollo de scripts para la web. 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 funcionamiento del sitio en el lado del cliente, aplicando Python en lugar de JavaScript. Para incluir el código Python en las páginas, se utiliza la etiqueta con el tipo mime 'text/python'. Se permite tanto la incrustación de código en la página como la carga de scripts externos (). Desde el script se tiene acceso completo 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-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).

El rendimiento final de la mayoría de las operaciones en los scripts de Python integrados en las páginas web es similar al rendimiento de CPython. La latencia solo se produce en la etapa de compilación, pero para solucionarlo se ofrece la posibilidad de cargar código previamente compilado a JavaScript, que se aplica para acelerar la carga de la biblioteca estándar (Brython proporciona herramientas para crear bibliotecas de JavaScript basadas en módulos de Python).

La nueva versión se destaca por garantizar la compatibilidad con Python 3.10, incluyendo soporte para operadores de coincidencia de patrones (match/case). En la nueva versión también se presenta una implementación inicial del árbol de sintaxis abstracta (AST, Abstract Syntax Tree) para Python, que puede ser utilizada posteriormente para generar código JavaScript a partir de un AST universal.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster