Com executar Python i HTML al navegador

Darrera actualització: 13 d'agost de 2026
  • PyScript permet embeure Python en HTML mitjançant WebAssembly, suportant llibreries potents com NumPy i Pandes.
  • Brython tradueix el codi Python a JavaScript, ideal per manipular el DOM i elements SVG de forma lleugera.
  • WebAssembly és la tecnologia clau que permet executar llenguatges compilats a la web amb un rendiment gairebé nadiu.
  • Hi ha alternatives tradicionals basades en servidor com Flask i Django per manejar la lògica de backend.

Primer pla de codi HTML5 en un editor de text amb tema fosc, representant lestructura duna pàgina web.

Portar la potència de Python a l'entorn del navegador ha estat durant molt de temps el somni de molts desenvolupadors. Fins fa res, si volies que alguna cosa es mogués a la web, JavaScript era el rei indiscutible i l'única opció viable per executar lògica al client sense dependre d'un servidor extern.

Tot i això, el panorama ha canviat radicalment gràcies a l'aparició de diverses eines i estàndards que permeten trencar les barreres del backend . Avui dia, hi ha múltiples camins per integrar Python amb HTML, des de compiladors que tradueixen el codi fins a l'ús de tecnologies binàries que permeten un rendiment sorprenent directament a la pestanya del teu navegador líder com Chrome.

Python Avantatges i Desavantatges
Article relacionat:
Python Avantatges i Desavantatges

PyScript: La revolució d'Anaconda

Detall de sintaxi de programació a Python amb ressaltat de colors en un entorn de desenvolupament modern.

Un dels salts més importants es va produir amb el llançament de PyScript per part d'Anaconda. Aquest framework no és més que una capa envoltant sobre Pyodide, Emscripten i WebAssembly (Wasm), el que permet que Python s'executi al client de forma gairebé transparent. El més atractiu és que permet escriure codi Python directament dins d'etiquetes HTML personalitzades com <py-script>, facilitant enormement la creació d'aplicacions interactives.

  Què és Chart.js i com crear gràfics interactius a la teva web

Per posar-lo en marxa, només cal incloure els fitxers CSS i JS de PyScript a la capçalera del document. Un dels seus grans avantatges és que suporta llibreries pesades com NumPy, Pandes o Scikit-learn, les quals es poden configurar mitjançant l'etiqueta <py-env>. A més, PyScript ofereix una comunicació bidireccional amb JavaScript, permetent manipular el DOM del navegador mitjançant el mòdul js de Python.

aprendre a programar en Python
Article relacionat:
5 Eines per Aprendre a Programar a Python

Pel que fa a la interfície, PyScript no es queda curt, ja que ofereix components d'UI integrats com a <py-button> o <py-inputbox>, que executen funcions de Python en interactuar amb ells. No obstant això, cal tenir en compte que, en basar-se en WebAssembly, el temps de càrrega inicial pot ser elevat i el rendiment en dispositius mòbils es pot veure compromès.

Brython: Python traduït a JavaScript

Codi de Python processant dades JSON en una pantalla, il·lustrant la potència de la lògica de programació.

Si busquem una alternativa més lleugera en termes de càrrega, Brython és una opció clàssica. A diferència de PyScript, Brython és una implementació de Python 3 escrita totalment en JavaScript que tradueix el codi de Python perquè el navegador pugui entendre'l. Perquè funcioni, és imprescindible trucar a la funció brython() en l'esdeveniment onload del cos de lHTML.

Brython destaca per la seva capacitat per interactuar amb elements HTML i SVG. Mitjançant lús de lobjecte document, És possible injectar contingut dinàmicament o dibuixar figures geomètriques en un llenç SVG utilitzant operadors propis com =< per afegir nodes a l'arbre del document. Tot i la seva versatilitat, té limitacions: no suporta tots els mòduls de la biblioteca estàndard i requereix que l'entrada i la sortida de dades es gestioni a través d'elements HTML, ja que print() o input() no funcionen de la manera tradicional.

aprendre Python a Windows
Article relacionat:
Com aprendre Python a Windows pas a pas

Altres implementacions i comparatives

Desenvolupadora escrivint codi en un portàtil amb un llibre de Python al costat, simbolitzant laprenentatge i la implementació del llenguatge.

L'ecosistema és ampli i hi ha altres projectes interessants. D'una banda tenim Skulpt, que suporta Python 2 i 3 mitjançant JavaScript, i Transcrypt, que actua com un compilador cap a JS, encara que aquest últim sembla haver quedat en l'oblit. També hi ha VistaPython, que proposa un enfocament diferent mitjançant un intèrpret de bytecode escrit en JavaScript i un analitzador generat amb Antlr, cosa que facilita l'actualització a noves versions de Python.

  Com utilitzar DeepMind i entendre el seu impacte real a la IA

Si comparem els enfocaments, veiem que Brython i Skulpt usen analitzadors manuals difícils de mantenir. Per contra, Pyodide (la base de PyScript) és un port real de CPython a WebAssembly, cosa que garanteix una compatibilitat molt més gran, encara que a costa de ser un paquet molt més pesat de descarregar. VistaPython intenta buscar un equilibri entre flexibilitat i pes , optimitzant els perfils de càrrega perquè les aplicacions siguin ràpides a qualsevol dispositiu.

Mètodes tradicionals i backend

No tot ha de passar al navegador. Per a molts, la forma més robusta d'unir Python i HTML segueix sent l'ús de frameworks de servidor com Flask a Python o Django. En aquest esquema, Python gestiona la lògica al servidor i envia l'HTML renderitzat al client, o bé actua com una API de REST que intercanvia dades en format JSON amb un frontend escrit en JavaScript mitjançant fetch o axios.

web2py
Article relacionat:
Guia completa sobre web2py: el framework web de Python explicat al detall

Hi ha també mètodes més antics com CGI (Common Gateway Interface), que encara que avui es consideren obsolets per la seva complexitat, van ser la base de la web dinàmica. Per als que només necessiten presentar dades, convertir notebooks de Jupyter a HTML és la via més ràpida per publicar informes tècnics sense complicacions tècniques.

El motor darrere de tot: WebAssembly

La veritable màgia que permet que llenguatges com Python, C++ o Rust arribin a la web és WebAssembly (Wasm). Aquest estàndard obert permet l' execució de codi binari amb un rendiment proper al nadiu. Gràcies a Wasm, empreses com Adobe han pogut portar Photoshop a la web , i AutoCad o Figma han optimitzat els seus processos de càrrega i processament de dades de forma dràstica.

  Guia completa de cerca en temps real a Laravel

La capacitat d'executar Python al client, ja sigui mitjançant la traducció de Brython o la potència binària de PyScript, obre un món de possibilitats per crear eines de ciència de dades i aplicacions complexes sense que l'usuari hagi d'instal·lar res al vostre ordinador, democratitzant l'accés a la programació avançada.

La integració de Python a la web ha evolucionat des de simples scripts al servidor fins a l'execució binària mitjançant WebAssembly, permetent triar entre la lleugeresa de la traducció a JavaScript amb Brython o la potència completa de PyScript i Pyodide, transformant així la manera com concebem el desenvolupament frontend.

fer agent IA a Python
Article relacionat:
Com crear un agent d'IA a Python des de zero