FastHTML è una libreria Python pensata per chi desidera sviluppare Web application e distribuirle in pochi minuti. Tutto quello che serve è racchiuso in un singolo file Python che, a sua volta, può essere integrato all'interno di librerie realizzate nello stesso linguaggio o in JavaScript. Grazie ad esso si ha pieno accesso ad HTML, JavaScript e CSS e realizzare qualsiasi progetto possa essere ospitato in un server che dispone del supporto a Python.
Funzionalità di FastHTML
Questa soluzione consente di sviluppare interfacce utente multimodali, Web games collaborativi, dashboard, chatbot interattivi, applicazioni per la creazione e l'editing di immagini e molto altro. In pratica, tutto quello che può essere fatto con React, Django e NexJS può essere realizzato anche con FastHTML. Il suo sviluppo è ispirato a FastAPI, noto Web framework per il building di interfacce di programmazione con Python. A livello funzionale FastHTML consente di realizzare Web application esattamente come FastAPI permette di creare API.
La libreria è stata concepita in particolare per lo sviluppo di SPA (Single Page Application) scalabili e performanti nel modo più veloce e semplice possibile. Per far questo le route definite attraverso di essa restituiscono dei "partial" di piccole dimensioni in grado di aggiornare direttamente il DOM. Ciò permette di evitare il caricamento di un'intera pagina. Da questo punto di vista risulta evidente il contributo di HTMX, libreria JavaScript che permette di controllare direttamente il DOM, anche tramite Python.
Competenze necessarie per l'utilizzo nelle Web application
Come specificato dall'autore del progetto, per utilizzare FastHTML non è necessario possedere competenze approfondite su JavaScript ma è consigliabile. Almeno in teoria con questa libreria sarebbe possibile realizzare qualsiasi Web application sfruttando unicamente codice Python. Si tenga conto però che la possibilità di incorporarla in un framework JavaScript rappresenta sicuramente un vantaggio in fase di sviluppo.
In alcuni casi le applicazioni realizzate potrebbero essere più lente rispetto a quella create con alternative come React e NextJS. HTMX consente però molto spesso di ottenere performance superiori rispetto a quelle che si avrebbero con un approccio basato su JavaScript.