PyScript: hacer que los scripts de Python funcionen en el navegador para la creación de aplicaciones web

Descubre lo mejor de JavaScript y Python Aprenda a crear aplicaciones web de PyScript e integre scripts de Python dentro de su navegador web.

Hacer que Python Scripts funcione en un navegador web implica manejar funciones de aplicaciones web dentro de una página web a través del lenguaje de programación Python.

Dado que JavaScript es el lenguaje de programación principal para hacer que un navegador web funcione y una página web sea interactiva, Python generalmente se usa para la ciencia de datos, el aprendizaje automático y la inteligencia artificial.

Incluso si tenemos infraestructuras de back-end como Django y Flask, o generadores de sitios estáticos como Jekyll, Python suele estar detrás de JavaScript para el desarrollo web.

Pero gracias a las últimas mejoras, el futuro de JavaScript está abierto a discusión. «PyScript» permite que Python Scripts funcione fácilmente dentro de los componentes web.

Según PyScript.net: PyScript.net

“PyScript is a framework that allows users to create rich Python applications in the browser using HTML’s interface and the power of PyodideWASM, and modern web technologies. The PyScript framework provides users at every experience level with access to an expressive, easy-to-learn programming language with countless applications.

“PyScript es un marco que permite a los usuarios crear aplicaciones ricas de Python en el navegador utilizando la interfaz de HTML y el poder de Pyodide, WASM y las tecnologías web modernas. El marco PyScript brinda a los usuarios de todos los niveles de experiencia acceso a un lenguaje de programación expresivo y fácil de aprender con innumerables aplicaciones. Pyodide

En esta columna, aprenderá qué es PyScript, verá un ejemplo, aprenderá sobre alternativas y también descubrirá cómo crear una aplicación web personalizada con Python y PyScript.

Salta a:

¿Qué es la migración de JavaScript a Python?

Python es un lenguaje de programación legible por humanos.

Por lo tanto, hay muchos lenguajes de programa intermedios de Python para ayudar a que los módulos y paquetes de JavaScript y Java se utilicen en el entorno de Python.

Por ejemplo, «TensorFlow» es principalmente un paquete JS o Plotly y Selenium.

Incluso hay paquetes especiales para hacer que el código JavaScript se convierta en código Python, como Js2Py. Js2Py

¿Por qué es importante entender JavaScript detrás de Python?

Porque el uso de Python Scripts dentro del navegador web no significa que la era de JavaScript esté terminando para el desarrollo web.

JavaScript sigue funcionando detrás de los scripts de Python en el navegador web.

¿Qué es PyScript y cómo puede usarlo para crear aplicaciones web?

PyScript es un marco para hacer que los navegadores web usen Python Scripts.

PyScript convierte los bloques de código de Python en equivalentes de Javascript en segundo plano.

Para usar PyScript dentro de un navegador web, siga estos pasos.

Use la hoja de estilo y JavaScript en el área del archivo HTML.

<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />

<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
  • Utilice el código de Python dentro del componente web ««.
  • Presta atención a la sangría.
  • No formatee el código de Python dentro del componente web ««.
  • Utilice los accesos directos y los argumentos de PyScript para importar módulos y paquetes de Python.
  • Utilice las clases e ID de CSS para insertar los resultados en la división específica de los documentos HTML.

Un ejemplo de ejecución de secuencias de comandos de Python dentro del navegador web

A continuación se muestra un ejemplo de cómo ejecutar un script de Python en el navegador.

<html>
<head>
     <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
     <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
     <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"
          crossorigin="anonymous">
     <py-env>
- numpy
- matplotlib
     </py-env>
</head>

El área del archivo HTML representa los recursos más importantes.

Usamos «pyscript.css» y «pyscript.js».

También usamos el componente web “” para hacer que los módulos de Python se importaran.

En este ejemplo, hemos importado «numpy» y «matplotlib».

En la sección ««, usaremos estos módulos para crear un gráfico de líneas de Python dentro de un navegador web.

<body>
     <h1>Let's plot random numbers</h1>
     <div id="plot"></div>
     <py-script output="plot">

Al comienzo del , usamos un «div» con el ID de «parcela».

Es necesario para realizar la inserción de salida del script de Python.

El “” es necesario para que coincida con el valor de ID de HTML Div específico.

 import matplotlib.pyplot as plt

 import numpy as np
 
 x = np.random.randn(1000)

 y = np.random.randn(1000)

 fig, ax = plt.subplots()
 ax.scatter(x, y)
 fig
     </py-script>
</body>
</html>

La secuencia de comandos de Python anterior es una secuencia de comandos de diagrama de línea simple Y puedes ver el resultado a continuación.

Pyscript App

Pyscript App

El ejemplo anterior muestra cómo crear un gráfico de líneas con la ayuda de PyScript.

Cómo ver la salida de terminal de PyScript

Para cada secuencia de comandos de Python, siempre hay una terminal que funciona y genera los mensajes del proceso de cálculo.

Pyscript Console

Pyscript Console

El desarrollador debe leer y seguir la consola del navegador para ver cómo funciona PyScript y qué sucede detrás de escena.

Por ejemplo, la captura de pantalla anterior muestra el proceso de ejecución del script de Python que hemos creado.

Explica cómo se cargan «numpy» o «matplotlib» y sus dependencias, y qué recurso utiliza.

¿Cómo crear una aplicación web personalizada con Python y PyScript?

Para crear una aplicación web personalizada con Python y PyScript, siga estos pasos:

  • Importe los archivos JS y CSS necesarios desde PyScript.
  • Cree un documento HTML con la sintaxis de etiqueta HTML adecuada.
  • Utilice la etiqueta HTML «py-script» con el atributo «salida».
  • Use un HTML Div con una ID específica para que coincida con el valor del atributo de «salida».
  • Use «py-env» para las bibliotecas no integradas de Python.
  • Inserte Python Script dentro de la etiqueta «py-script» sin sintaxis ni error de sangría.
  • Use «retorno» en una función de Python o «imprimir» para finalizar su secuencia de comandos.
  • Actualice la página web para ver los resultados.

A continuación se muestra un ejemplo de una aplicación web de Python personalizada para la «generación de contraseña aleatoria» basada en la longitud de la contraseña dada.

Python Web App Creation

Python Web App Creation

La captura de pantalla anterior muestra un ejemplo de PyScript en un documento HTML para generar contraseñas personalizadas.

El script de Python que utilicé está a continuación.

import string
import random
characters = list(string.ascii_letters + string.digits + "!@#$%^&*()")
def generate_random_password():
    length = int(input("Enter password length: "))
    random.shuffle(characters)
    password = []
    for i in range(length):
        password.append(random.choice(characters))
    random.shuffle(password)
    print("".join(password))
generate_random_password()

Y la versión en vivo de la aplicación web Python personalizada está aquí. live version of the custom Python Web App

Simplemente escriba un valor numérico en el área de entrada.

Input Area

Input Area

Y le dará una contraseña simple de 45 caracteres.

SEJ Custom Python App

SEJ Custom Python App

Puede usar esta tecnología para algunos de mis otros artículos SEJ para auditar mapas de sitios o visualizar temas candentes de sitios web de noticias.

O, en el futuro, podemos demostrar aplicaciones web más sofisticadas a través de PyScript.

¿Cuáles son las desventajas de PyScript?

La principal desventaja de PyScript es la falta de soporte.

PyScript se anuncia durante Pycon 2022 para los desarrolladores de Python.

Fue un evento grande y emocionante, pero las expectativas de la comunidad eran más altas que el estado actual de PyScript.

Debido al escaso apoyo de la comunidad, el desarrollo de PyScript podría ser más lento en el futuro, pero cuando pensamos en el viaje de Python, no sorprende.

Python no fue tan popular hasta los últimos cinco años, porque no se conocía.

Python Search Trends

Python Search Trends

Arriba, puede ver cómo Python suprimió la demanda de búsqueda de JavaScript en general.

La razón principal del crecimiento de la popularidad de Python es la biblioteca «pandas».

Por eso, ML y Data Science son los focos principales de Python, pero no tiene por qué continuar así.

Por lo tanto, PyScript debe tenerse muy en cuenta para el futuro del desarrollo web.

Pyscript Search Demand

Pyscript Search Demand

¿Cuáles son las alternativas a PyScript?

Las alternativas a PyScript no son equivalentes a PyScript, ya que se ejecuta directamente en el navegador, pero aun así, existen diferentes métodos para usar indirectamente los scripts de Python dentro de un sitio web.

Estos incluyen «brython», «pyodide», «Appwrite», «django-readers», «appdeamon».

Algunas alternativas a PyScript son para Firebase, como Appwrite, y algunos otros trabajos para desarrollo web, como Brython.

Brython es más antiguo que Pyscript y se enfoca en hacer de Python el lenguaje principal para el desarrollo web con el tipo de archivo «texto/python» en lugar de «texto/javascript».

¿Pueden PyScript y Brython afectar los motores de búsqueda y el SEO?

Sí, en el futuro, PyScript y Brython pueden aumentar su efecto en la industria del desarrollo web.

Las industrias y tecnologías de desarrollo web cambiantes afectan a los rastreadores y protocolos de los motores de búsqueda.

Si un motor de búsqueda comienza a ver archivos de «texto/python» o secuencias de comandos «.py» en el código fuente HTML, debería poder hacer que funcione para ver la página web tal cual.

Por el momento, PyScript funciona a través de JavaScript, y Brython ya está al comienzo de su viaje a pesar de ser más antiguo.

Otras alternativas de PyScript funcionan a través de Node.js como bibliotecas de programación de back-end o Firebase como sistemas basados ​​en la nube.

Por lo tanto, en el futuro, Google, como un motor de búsqueda fuertemente codificado en Python, podría necesitar renderizar archivos de Python para rastrear y renderizar páginas web.

Conclusión para Python como Web Scripting

Para las personas que aman la codificación, no importa si usan Python o JavaScript para una determinada tarea.

Pero, Python es el lenguaje de programación más fácil de aprender como legible por humanos, brinda más funcionalidad con menos caracteres.

La mayoría de los científicos de datos y los ingenieros de ML (aprendizaje automático) conocen muy bien Python, y transferir sus talentos al desarrollo web sería similar a la unificación de dos universos diferentes.

Más recursos:

Imagen destacada: TippaPatt/Shutterstock

Leer el articulo original en Search Engine Journal.

¡Danos un Voto!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¿Tienes una pregunta?

Luis Narciso
Sobre SEO
(Posicionamiento Web)

Frank Fajardo
Sobre Diseño Web, Anuncios, Diseño y Redes Sociales