Contenidos
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 Pyodide, WASM, 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 “
En este ejemplo, hemos importado «numpy» y «matplotlib».
En la sección «
<body> <h1>Let's plot random numbers</h1> <div id="plot"></div> <py-script output="plot">
Al comienzo del
Es necesario para realizar la inserción de salida del script de Python.
El “
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.
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.
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.
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.
Y le dará una contraseña simple de 45 caracteres.
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.
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.
¿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.