Brython, una implementación de Python 3 para la programación web del lado del cliente

Hace poco se dio a conocer el lanzamiento de la nueva versión del proyecto Brython 3.10 (Browser Python) que se presenta con la implementación del lenguaje de programación Python 3 para su ejecución en el lado del navegador web, lo que permite usar Python en lugar de JavaScript para desarrollar scripts para la Web.

Al conectar las bibliotecas brython.js y brython_stdlib.js, un desarrollador web puede usar Python para definir la lógica del sitio del lado del cliente, usando Python en lugar de JavaScript.

Para incluir código Python en las páginas, se debe hacer uso de la etiqueta <script> con el tipo mime «text/python», con ello se permiten tanto incrustar código en la página como cargar scripts externos (<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 interactuar con las bibliotecas DOM y JavaScript como jQuery, D3, Highcharts y Raphael. Se admite el uso de frameworks CSS Bootstrap3, LESS y SASS.

El poder ejecutar Python en un navegador web permite:

  • Ejecute el mismo código Python en el servidor y el navegador.
  • Trabajar con varias API de navegador usando Python
  • Manipular el modelo de objetos de documento (DOM) con Python
  • Use Python para interactuar con bibliotecas de JavaScript existentes como Vue.js y jQuery
  • Enseñe el lenguaje Python a los estudiantes de Python con el editor Brython
  • Mantenga el sentido de la diversión mientras programa en Python

Un efecto secundario del uso de Python en el navegador es una pérdida de rendimiento en comparación con el mismo código en JavaScript.

La ejecución del código Python a partir de bloques <script> se realiza mediante la compilación previa de este código por parte del motor Brython después de que se haya cargado la página. La compilación se inicia llamando a la función brython(), por ejemplo agregando «<body onload=»brython()»>».

Basado en el código Python, se forma una representación JavaScript, que luego es ejecutada por el motor JavaScript estándar del navegador (a modo de comparación, el proyecto PyPy.js ofrece un intérprete CPython compilado en asm.js para ejecutar código Python en el navegador, y Skulpt implementa el intérprete en JavaScript).

El sitio de Brython señala que la velocidad de ejecución de la implementación es comparable a CPython. Pero Brython se ejecuta en el navegador y la referencia en este entorno es JavaScript integrado en el motor del navegador. Como resultado, espere que Brython sea más lento que JavaScript bien ajustado y escrito a mano.

Brython compila el código Python en JavaScript y luego ejecuta el código generado. Estos pasos tienen un impacto en el rendimiento general y es posible que Brython no siempre cumpla con sus requisitos de rendimiento. En algunos casos, es posible que deba delegar la ejecución de código a JavaScript o incluso a WebAssembly. Verá cómo construir WebAssembly y cómo usar el código resultante en Python en la sección sobre WebAssembly.

Sin embargo, no permita que el rendimiento percibido le impida utilizar Brython. Por ejemplo, la importación de módulos de Python puede resultar en la descarga del módulo correspondiente del servidor

En cuanto a la nueva versión, en ella se destaca por su compatibilidad con Python 3.10, incluida la compatibilidad con operadores para la coincidencia de patrones (coincidencia/caso).

La nueva versión también ofrece una implementación inicial de un árbol de sintaxis abstracta (AST, Abstract Syntax Tree) para el lenguaje Python, que luego se puede usar para generar código JavaScript a partir de un AST universal.

Para poder implementar Brython puede hacerse añadiendo el siguiente código en el sitio web:

<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3.9/brython.min.js">
</script>
<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3.9/brython_stdlib.js">
</script> 

O

<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3/brython.min.js">
</script>
<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3/brython_stdlib.js">
</script>

O también se puede instalar en el lado del servidor ejecutando el siguiente comando:

pip install brython

Finalmente si estás interesado en conocer más al respecto, puedes consultar los detalles en el siguiente enlace. El código del proyecto está escrito en Python y se distribuye bajo la licencia BSD.


El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error pincha aquí.

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.