Come eseguire Python e HTML nel browser

Ultimo aggiornamento: 13 agosto 2026
  • PyScript consente di incorporare Python nell'HTML utilizzando WebAssembly, supportando potenti librerie come NumPy e Pandas.
  • Brython traduce il codice Python in JavaScript, rendendolo ideale per la manipolazione leggera degli elementi DOM e SVG.
  • WebAssembly è la tecnologia chiave che permette ai linguaggi compilati di essere eseguiti sul web con prestazioni quasi native.
  • Esistono alternative tradizionali basate su server, come Flask e Django, per la gestione della logica di backend.

Primo piano del codice HTML5 in un editor di testo con tema scuro, che rappresenta la struttura di una pagina web.

Portare la potenza di Python nell'ambiente browser è da tempo un sogno per molti sviluppatori. Fino a poco tempo fa, se si voleva che qualcosa si muovesse sul web, JavaScript era il re indiscusso e l'unica opzione praticabile per eseguire la logica lato client senza dipendere da un server esterno.

Tuttavia, il panorama è radicalmente cambiato grazie all'emergere di vari strumenti e standard che abbattono le barriere del backend . Oggi esistono diversi modi per integrare Python con HTML, dai compilatori che traducono il codice all'utilizzo di tecnologie binarie che consentono prestazioni straordinarie direttamente nella scheda del browser più diffuso, come Chrome.

Vantaggi e svantaggi di Python
Articolo correlato:
Vantaggi e svantaggi di Python

PyScript: La rivoluzione di Anaconda

Sintassi di programmazione Python dettagliata con evidenziazione a colori in un moderno ambiente di sviluppo.

Uno dei passi avanti più significativi è arrivato con il rilascio di PyScript da parte di Anaconda. Questo framework è semplicemente un livello di interfaccia sopra... Pyodide, Emscripten e WebAssembly (Wasm)Ciò consente a Python di essere eseguito in modo quasi trasparente sul client. L'aspetto più interessante è che permette di scrivere codice Python direttamente all'interno di tag HTML personalizzati, come <py-script>, facilitando notevolmente la creazione di applicazioni interattive.

  Che cos'è Chart.js e come creare grafici interattivi sul tuo sito web

Per iniziare, è sufficiente includere i file CSS e JS di PyScript nell'intestazione del documento. Uno dei suoi grandi vantaggi è che Supporta librerie pesanti come NumPy, Pandas o Scikit-learn, che possono essere configurati utilizzando il tag <py-env>Inoltre, PyScript offre un comunicazione bidirezionale con JavaScriptconsentendo la manipolazione del DOM del browser utilizzando il modulo js Pitone.

impara a programmare in Python
Articolo correlato:
5 strumenti per imparare a programmare in Python

Per quanto riguarda l'interfaccia, PyScript non delude, in quanto offre componenti dell'interfaccia utente integrati come <py-button> o <py-inputbox>che eseguono funzioni Python quando si interagisce con esse. Tuttavia, va notato che, essendo basato su WebAssembly, Il tempo di caricamento iniziale potrebbe essere lungo. e le prestazioni sui dispositivi mobili potrebbero risultarne compromesse.

Brython: Python tradotto in JavaScript

Codice Python che elabora dati JSON visualizzati sullo schermo, a dimostrazione della potenza della logica di programmazione.

Se cerchiamo un'alternativa più leggera in termini di carico, Brython è una scelta classica. A differenza di PyScript, Brython è un'implementazione di Python 3 scritta interamente in JavaScript. tradurre il codice Python in modo che il browser possa comprenderlo. Affinché funzioni, è essenziale chiamare la funzione brython() in caso onload del corpo HTML.

Brython si distingue per la sua capacità di interagire con elementi HTML e SVG. Attraverso l'uso dell'oggetto document, è possibile inserire contenuti in modo dinamico o disegnare figure geometriche su una tela SVG utilizzando operatori personalizzati come =< per aggiungere nodi all'albero del documento. Nonostante la sua versatilità, presenta delle limitazioni: Non supporta tutti i moduli della libreria standard e richiede che l'input e l'output dei dati siano gestiti tramite elementi HTML, poiché print() o input() Non lavorano nel modo tradizionale.

Impara Python su Windows
Articolo correlato:
Come imparare Python su Windows passo dopo passo

Altre implementazioni e confronti

Una sviluppatrice scrive codice su un laptop con un libro di Python accanto, a simboleggiare l'apprendimento e l'applicazione del linguaggio.

L'ecosistema è ampio e comprende altri progetti interessanti. Da un lato, c'è Skulpt, che supporta Python 2 e 3 tramite JavaScript, e Transcrypt, che funge da compilatore per JavaScript, sebbene quest'ultimo sembri essere stato dimenticato. C'è anche VistaPython, che propone un approccio diverso utilizzando un interprete di bytecode scritto in JavaScript e un parser generato con Antlr, semplificando l'aggiornamento alle versioni più recenti di Python.

  Come usare DeepMind e comprenderne il reale impatto sull'intelligenza artificiale

Confrontando i diversi approcci, notiamo che Brython e Skulpt utilizzano parser manuali di difficile manutenzione. Al contrario, Pyodide (il fondamento di PyScript) è una vera e propria conversione di CPython in WebAssembly, garantendo una compatibilità molto maggiore, sebbene a costo di un pacchetto di download decisamente più grande. VistaPython cerca di trovare un equilibrio tra flessibilità e dimensioni , ottimizzando i profili di carico per garantire che le applicazioni vengano eseguite rapidamente su qualsiasi dispositivo.

Metodi tradizionali e backend

Non tutto deve avvenire nel browser. Per molti, il modo più efficace per combinare Python e HTML rimane quello di utilizzare... framework server come Flask in Python o DjangoIn questo schema, Python gestisce la logica sul server e invia l'HTML renderizzato al client, oppure agisce come un API REST che scambia dati in formato JSON con un frontend scritto in JavaScript utilizzando fetch o axios.

web2py
Articolo correlato:
Guida completa a web2py: il framework web Python spiegato in dettaglio

Esistono anche metodi più datati come il CGI (Common Gateway Interface), che, sebbene ormai considerati obsoleti a causa della loro complessità, hanno costituito la base del web dinamico. Per chi ha semplicemente bisogno di presentare dati, la conversione dei notebook Jupyter in HTML è il modo più rapido per pubblicare report tecnici senza complicazioni tecniche.

Il motore che sta alla base di tutto: WebAssembly

La vera magia che permette a linguaggi come Python, C++ e Rust di approdare sul web è WebAssembly (Wasm). Questo standard aperto consente l' esecuzione di codice binario con prestazioni quasi native. Grazie a Wasm, aziende come Adobe sono riuscite a portare Photoshop sul web , e AutoCAD e Figma hanno ottimizzato drasticamente il caricamento e l'elaborazione dei dati.

  Guida completa alla ricerca in tempo reale in Laravel

La possibilità di eseguire Python sul client, sia tramite la traduzione in Brython che grazie alla potenza binaria di PyScript, apre un mondo di possibilità per la creazione di strumenti e applicazioni complesse per la scienza dei dati, senza che l'utente debba installare nulla sul proprio computer, democratizzando l'accesso alla programmazione avanzata.

L'integrazione di Python sul web si è evoluta da semplici script lato server all'esecuzione binaria tramite WebAssembly, consentendo di scegliere tra la traduzione leggera in JavaScript con Brython o tutta la potenza di PyScript e Pyodide, trasformando così il modo in cui concepiamo lo sviluppo frontend.

Creare un agente di intelligenza artificiale in Python
Articolo correlato:
Come creare un agente di intelligenza artificiale in Python da zero