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

Publicado lanzamiento del proyecto Brython 3.9 (Python del navegador) con la implementación del lenguaje de programación Python 3 para ejecutarse en el lado del navegador web, lo que permite usar Python en lugar de JavaScript para desarrollar scripts para la Web. El código del proyecto está escrito en Python y se distribuye bajo la licencia BSD. La nueva versión destaca por proporcionar compatibilidad con Python 3.9 y la actualización de la biblioteca estándar.

Al conectar bibliotecas brython.js y brython_stdlib.js, el desarrollador web puede utilizar utilizar Python para definir la lógica del sitio en el lado del cliente, aplicando Python en lugar de JavaScript. Para incluir 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 proporciona 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 proporciona un intérprete CPython compilado en asm.js para ejecutar código Python en el navegador, y Skulpt implementa un intérprete en JavaScript).

El rendimiento final de la mayoría de las operaciones en scripts de Python incrustados en páginas web es similar al rendimiento de CPython. La latencia solo ocurre en la etapa de compilación, pero para eliminarla se ofrece la posibilidad de cargar código anteriormente compilado en JavaScript, que se utiliza para acelerar la carga de la biblioteca estándar (Brython ofrece un conjunto de herramientas para crear bibliotecas de JavaScript basadas en módulos de Python).

<script type=»text/python»>

import time
import math

from browser import document
import browser.timer

content = document['content']

…

canvas = content.select_one('.clock')

if hasattr(canvas, 'getContext'):
ctx = canvas.getContext('2d')

browser.timer.set_interval(set_clock, 100)
show_hours()
else:
content.select_one('.navig_zone').html = 'canvas no es compatible'

</script>

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