Se ha lanzado una nueva versión de "Python para navegadores", conozca Brython 3.9



Código Brython Python (captura de pantalla - versión 3.8.8)



Los desarrolladores del proyecto Brython Python han lanzado una nueva versión, Brython 3.9 . El proyecto en sí está posicionado como "Python para el navegador". Está basado en Python 3 y se ejecuta en el lado del navegador, utilizando Python en lugar de JavaScript para desarrollar scripts web.



El código del proyecto está escrito en Python y distribuido bajo la licencia BSD. La nueva versión es compatible con Python 3.9, además se ha actualizado la biblioteca estándar.



Para definir la lógica del sitio del lado del cliente utilizando Python en lugar de JS, el desarrollador web debe incluir dos bibliotecas, brython.js y brython_stdlib.js. Para incluir código Python en una página, se usa una etiqueta de secuencia de comandos con un tipo de mime text / python .



Desde el lado de Brython, se permite incrustar código en la página y cargar scripts externos. Ejemplo:



<script type="text/python" src="test.py">


El script proporciona acceso completo a los elementos y eventos DOM. Además de acceder a la biblioteca estándar de Python, existen bibliotecas especializadas para trabajar con las bibliotecas DOM y JavaScript como jQuery, D3, Highcharts y Raphael.



El uso de marcos CSS es compatible con bibliotecas de JavaScript como jQuery, D3, Highcharts y Raphael.



Los bloques de Python se ejecutan a partir de bloques de secuencias de comandos mediante la compilación previa del código, que el motor Brython ejecuta después de que se haya cargado la página. La compilación se inicia llamando a la función brython () , por ejemplo añadiendo body onload="brython()".



Basado en el código Python, se forma una representación JS, luego es ejecutada por el motor JavaScript estándar del navegador.



En términos de rendimiento, la mayoría de las operaciones en los scripts de Python incrustados en las páginas web están cerca del rendimiento de Cpython. El único momento en que se produce un retraso es durante la fase de compilación. Sin embargo, el retraso se puede eliminar mediante el código JavaScript precompilado, que se utiliza para acelerar la carga de la biblioteca estándar.



<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 is not supported"
 
</script>


Más sobre cómo ejecutar Brython



Para que "Python para navegador" pueda traducir y ejecutar código Python como código JS, debe llamar a Brython cuando se carga el cuerpo del documento.



<body onload="brython()">


En este caso, la etiqueta busca etiquetas de script de tipo text / python y ejecuta el código. Para usar la API para trabajar con la web, los desarrolladores de Brython implementaron una solución simple: importar una API, similar a importar cualquier otro módulo en Python:



from browser import document, html, window


Brython maneja todo por sí solo, por lo que no es necesario ejecutar comandos adicionales.



Un punto importante: para trabajar con Brython, necesita experiencia con JavaScript, al menos un nivel básico. Sin esto, será bastante difícil resolverlo.






All Articles