Hai mai provato a spiegare un foglio di calcolo a una persona che non li usa? I loro occhi si spengono da qualche parte tra “pivot” e “perché la colonna D è nascosta?”. Ora immagina di poter trasformare quel foglio di calcolo in una piccola e amichevole app web: pulsanti! cursori! grafici che ballano quando muovi un cursore! — senza imparare JavaScript, CSS o le arti oscure. Questo è Streamlit, la libreria Python che trasforma gli script in app condivisibili come un frullatore trasforma la frutta in colazione.
Ma ecco il problema: cerca “migliori tutorial di Streamlit” e cadrai in un buco nero che è parte Hogwarts, parte manuale Ikea. Quali ti aiutano davvero a costruire qualcosa che puoi mostrare al tuo capo entro lunedì? Ho passato una settimana a setacciare documenti, video, guide della community e alcuni video di YouTube “registrati con una patata” per mappare i migliori tutorial di Streamlit, per livello di competenza e per cosa costruirai.
Questa è la tua guida pratica in stile Pogue: da cosa iniziare, cosa guardare dopo, quali esempi non si romperanno quando Streamlit si aggiorna e come evitare le insidie che divorano il tempo come un Labrador con un calzino.
Cos'è esattamente Streamlit, in parole povere?
Streamlit è una libreria Python che prende i tuoi script di dati e li avvolge in un'interfaccia istantanea. Invece di scrivere un'app Flask o lottare con React, cospargi il tuo codice con chiamate Streamlit come st.button, st.slider, st.line_chart e boom: hai un'app web condivisibile.
- Streamlit gestisce la pagina web.
- Condividi un link. Il tuo capo smette di inviarti screenshot via email.
I migliori tutorial di Streamlit: un elenco curato e senza fronzoli
Ho organizzato i migliori tutorial di Streamlit in livelli. Scegli la tua corsia; mescola e abbina se sei ambizioso.
Livello 1: Principiante assoluto (Prima app in 60-90 minuti)
- La documentazione ufficiale “Inizia con Streamlit”
Perché è fantastica: è aggiornata, precisa e progettata dal team di Streamlit. Installerai Streamlit, imparerai come funziona il modello di riesecuzione (spoiler: lo script viene eseguito dall'alto verso il basso ogni volta che interagisci) e costruirai una piccola e soddisfacente app. Inizia qui prima di qualsiasi altra cosa. È la strada più breve per un momento “Ho costruito qualcosa”.
- Tutorial ufficiale “Crea un'app”
Perché è fantastico: costruirai una vera app che esplora un set di dati di prelievi Uber. Traduzione: vedrai widget, grafici, mappe e caching in azione, con spiegazioni chiare e blocchi copiabili e incollabili che funzionano davvero. Se sei un tipo da apprendimento visivo, questo fa clic velocemente.
- Indice dei tutorial di Streamlit
Perché è fantastico: un hub di progetti guidati: autenticazione, database, caricamento di file, layout avanzato e altro ancora. È come un menu in una tavola calda: inizia con i pancake, passa alla frittata con peperoncini extra.
Cosa sarai in grado di fare dopo il Livello 1:
- Creare un'app funzionante da uno script Python.
- Aggiungere widget (cursori, selezioni, pulsanti), renderizzare grafici e memorizzare nella cache i dati.
- Capire perché il tuo script “viene rieseguito” e come mantenere lo stato senza far esplodere il tuo laptop.
Livello 2: Da principiante a intermedio (Rendilo utile, rendilo bello)
4) “Master Streamlit in One Course – 4 Real Projects Included” (video)
Perché è fantastico: l'apprendimento basato su progetti funziona. Questo corso ti porta dalle basi al collegamento di database e modelli più avanzati. Se vuoi sentirti un vero creatore di app, non solo uno scripter con i pulsanti, questa è la corsia preferenziale.
- “Complete Streamlit Tutorial: From Zero to Production-Ready” (articolo)
Perché è fantastico: è una panoramica onesta e moderna sulla creazione di dashboard nel 2025 e sui compromessi. Otterrai tattiche su packaging, deployment e quando ricorrere ad altri strumenti. Se stai pensando: “Streamlit reggerà a un uso reale?”: questa è la tua prova dei fatti.
- Discorso sulle best practice da un utente esperto di Streamlit (video)
Perché è fantastico: modelli, modelli, modelli. Imparerai come i professionisti strutturano le app, gestiscono le prestazioni e perfezionano l'UX. È come sbirciare nel garage immacolato del tuo vicino e decidere che anche tu meriti contenitori etichettati.
Cosa sarai in grado di fare dopo il Livello 2:
- Costruire app multipagina con una struttura pulita.
- Gestire lo stato dell'app senza spaghetti.
- Accelerare le app lente con strategie di caching e dati.
- Eseguire il deployment con sicurezza, con una checklist mentale.
Livello 3: Progetti pratici e reali (Mostra al tuo team qualcosa di interessante)
7) App di trascrizione audio con AI + Streamlit (video)
Perché è fantastica: un solido esempio di “AI incontra UI”: caricamento di file, chiamata di modelli, visualizzazione dei risultati. Anche se non stai costruendo un'app di trascrizione, potrai prendere in prestito modelli per qualsiasi progetto abilitato all'intelligenza artificiale: barre di avanzamento, gestione degli errori, attività a lunga esecuzione.
- Demo pratiche di app che combinano pulizia dei dati, visualizzazione e conversione di file
Perché è fantastica: utilità nel mondo reale. App che accettano dati brutti, li ripuliscono, li visualizzano ed esportano esattamente nel formato desiderato dal tuo capo (da CSV a Excel, qualcuno?). È un passo fiducioso verso “Posso effettivamente sostituire metà delle faccende manuali del mio team con una dashboard su cui possono fare clic”.
Una breve digressione: in cosa Streamlit è spettacolare e in cosa no
Spettacolare in:
- Prototipi rapidi che sembrano vere app.
- Strumenti interni e dashboard che il tuo team può effettivamente utilizzare.
- Demo di data science: grafici, mappe, cursori di modelli, esperimenti “e se?”.
Non così spettacolare in:
- App complesse multiutente con autenticazione pesante, ruoli e flussi di lavoro aziendali.
- Front-end perfetti al pixel, artigianali.
- App pubbliche massive ad alta concorrenza senza un po' di ingegneria extra intorno.
Se la tua app è “abbiamo bisogno di un'interfaccia utente amichevole su codice Python”, Streamlit è un sogno. Se la tua app è “stiamo ricostruendo Airbnb”, forse no.
Un delicato tour del modello mentale di Streamlit
Se provieni da stack web tradizionali, Streamlit sembra... strano all'inizio. Non colleghi percorsi e modelli; scrivi uno script Python che si ridisegna ogni volta che l'utente interagisce.
- Lo script viene eseguito dall'alto verso il basso ad ogni interazione.
- I valori dei widget vengono letti ad ogni esecuzione.
- Usa lo stato della sessione per ricordare le scelte tra le esecuzioni.
- Memorizza nella cache il lavoro costoso (download di dati, caricamento di modelli) in modo che la tua app non si trascini.
Pensalo come un PowerPoint che si aggiorna in base a ciò su cui fa clic il tuo pubblico, ma tu controlli le diapositive con Python invece di trascinare caselle in giro.
Un percorso di apprendimento pratico: costruisci questo fine settimana, stupisci lunedì
Ecco un curriculum pratico e gustoso: due pomeriggi al massimo.
Sabato mattina: la tua prima app e i momenti “aha”
- Installa Streamlit ed esegui l'app Hello. Segui la guida ufficiale “Inizia” per costruire una semplice interfaccia utente e un grafico. È la fonte di verità più aggiornata.
- Lavora su “Crea un'app”: prelievi Uber, mappe, filtri. Toccherai st.cache_data, che farà piangere di gratitudine il tuo futuro io.
Sabato pomeriggio: widget e layout che userai davvero
- Aggiungi st.sidebar per spostare i controlli fuori dal flusso principale.
- Crea un piccolo pannello di pulizia dei dati: file_uploader per CSV, una selectbox per la scelta delle colonne, caselle di controllo per eliminare NA o intestazioni minuscole e un pulsante per esportare i risultati. Usa esempi come le app di utilità che convertono CSV in Excel.
- Impara a mostrare l'avanzamento: st.progress, st.spinner e messaggi st.status. Le persone odiano fissare schermi silenziosi.
Domenica mattina: passa a multipagina e stato
- Dividi la tua app in pagine. Crea una pagina “Dati”, una pagina “Visualizza” e una pagina “Esporta”. Ti fa sembrare un professionista senza troppi sforzi.
- Usa st.session_state per ricordare le scelte (colonne selezionate, filtri) mentre l'utente si sposta.
- Aggiungi un decoratore di caching a qualsiasi funzione che recupera dati o carica un modello.
Domenica pomeriggio: Deployment e perfezionamento
- Esegui il deployment su un servizio di hosting o un contenitore; includi un requirements.txt.
- Aggiungi st.toast per conferme amichevoli e st.error per protezioni.
- Bonus: incorporare una piccola azione di intelligenza artificiale, riassumere una tabella, pulire testo disordinato o generare automaticamente titoli di grafici dai nomi delle colonne, trasforma una “bella app” in una “straordinaria”. La guida alla trascrizione basata sull'intelligenza artificiale mostra il modello per la gestione di operazioni lunghe e l'aggiornamento dell'interfaccia utente all'arrivo dei risultati.
Checklist: i cinque concetti di Streamlit che ti ripagano per sempre
- I widget sono variabili: memorizza i loro valori e riutilizzali.
- Il caching è ossigeno: memorizza nella cache i caricamenti di dati, i caricamenti di modelli e i calcoli lunghi.
- Lo stato della sessione è memoria: conserva le scelte dell'utente tra le riesecuzioni.
- Il layout è comunicazione: barre laterali, colonne, schede: usale per semplificare.
- Il feedback batte il silenzio: spinner, barre di avanzamento, toast. Dì sempre all'utente cosa sta succedendo.
Insidie comuni (e come evitarle)
- “Le mie variabili si resettano quando clicco su un pulsante!” Questo è il modello di riesecuzione; usa st.session_state per conservare le cose importanti.
- “È lento al primo clic.” Memorizza nella cache le tue funzioni pesanti. Considera anche l'inizializzazione dei modelli all'avvio dell'app.
- “Perché il mio grafico è vuoto?” Se il valore predefinito del widget cambia tra le esecuzioni, potresti filtrare i tuoi dati. Imposta valori predefiniti sensati.
- “Si è rotto dopo un aggiornamento.” Aggiungi le tue dipendenze o leggi le note di migrazione. I tutorial ufficiali tendono a rimanere sincronizzati.
Angolo del confronto: Streamlit vs. i soliti sospetti
- Streamlit vs. Dash: Dash è più configurabile e pronto per l'azienda, ma richiede più tempo per iniziare. Streamlit è più veloce per il prototipo; Dash è più forte per flussi di lavoro di produzione complessi.
- Streamlit vs. Gradio: Gradio eccelle per le demo rapide di intelligenza artificiale, in particolare I/O di modelli. Streamlit è più generico per app di dati e dashboard.
- Streamlit vs. Flask + Front-end: Flask ti dà il controllo su tutto, incluso molto di ciò che non vuoi controllare. Streamlit è la scorciatoia quando il tuo obiettivo è “fornire uno strumento decisionale entro martedì”.
Una breve nota su Sider.AI: un utile aiutante per imparare e costruire
Se sei il tipo di studente a cui piace iterare rapidamente e vedere risultati tangibili, l'utilizzo di un assistente AI insieme a Streamlit può essere un superpotere. Ad esempio, ho visto demo che trasformano un CSV disordinato in una dashboard pulita, visualizzata e quindi esportata in Excel, esattamente il tipo di app “Ho risparmiato ore al team” che puoi mettere insieme con i widget di Streamlit e un piccolo aiuto dell'IA per riassumere o strutturare i dati. Strumenti come Sider.AI possono anche spingerti attraverso boilerplate e scenari di test in modo da poterti concentrare sulla progettazione e sulla logica dei dati. Mini-progetti pratici che puoi rubare (con note)
- App “Il report preferito del capo”
- Input: caricamento CSV, selettore di intervallo di date, menu a tendina della regione.
- Output: metriche (entrate, conteggio), un grafico a linee e un file Excel scaricabile.
- Suggerimenti: memorizza nella cache il passaggio di pulizia dei dati; salva il DataFrame filtrato in session_state in modo da poter esportare istantaneamente.
- “Pianificatore di scenari what-if” per le vendite
- Input: un cursore per il tasso di sconto, un number_input per la spesa pubblicitaria, una selectbox per il livello di prodotto.
- Output: un grafico a barre delle entrate previste e un riepilogo di testo (“Con uno sconto del 10%, si recupera in 6,2 mesi”).
- Suggerimenti: usa le schede: “Ipotesi”, “Grafici”, “Download”. Mantieni la funzione modello memorizzata nella cache.
- “Riassuntore di note basato sull'intelligenza artificiale”
- Input: file_uploader per PDF o testo, casella di controllo per il tono (“formale”, “amichevole”, “stile elenco puntato”).
- Output: testo di riepilogo con un pulsante di copia; CSV facoltativo degli elementi di azione.
- Suggerimenti: trasmetti i risultati in streaming con aggiornamenti incrementali; mostra uno spinner e spiega cosa sta succedendo.
- “Pulitore di dati e convertitore di formato”
- Input: file_uploader (CSV), casella di controllo per l'eliminazione degli spazi vuoti, selectbox per l'analisi della data, pulsante per “Esporta in Excel”.
- Output: anteprima della tabella pulita; grafico dei valori null per colonna; esportazione con un clic.
- Suggerimenti: questo è un progetto perfetto per principianti e si mappa bene a quelle demo pratiche.
Come scegliere i migliori tutorial di Streamlit per te
- Se hai due ore: segui il flusso ufficiale di Introduzione e il tutorial Crea un'app. Otterrai l'80% del risultato, nel 20% del tempo.
- Se hai un fine settimana: abbina questi a un corso video basato su progetti e costruisci l'app a tre pagine che ho delineato. Sarai “quella persona” al lavoro entro lunedì.
- Se vuoi specializzarti: approfondisci l'indice dei tutorial per autenticazione, database e best practice. Eviterai di ridipingere la stessa recinzione cinque volte.
Etichetta Streamlit: rendila piacevole per i tuoi utenti
- Usa etichette in inglese semplice.
- Mantieni le azioni principali sopra la piega.
- Usa st.expander per le opzioni avanzate.
- Aggiungi un pulsante “Reimposta filtri”; le persone adorano un bis.
- Fornisci piccoli esempi di dati reali per i test.
Angolo della risoluzione dei problemi (a.k.a. “Perché questa cosa non funziona?”)
- Nessun modulo denominato 'streamlit': sei nell'ambiente sbagliato. pip install streamlit nel tuo venv attivo.
- Il caricatore di file non accetta nulla: controlla i tuoi tipi di file; ricorda anche che i widget sono stateful solo se nascondi i risultati in session_state.
- Funziona localmente ma non nel deployment: aggiungi le tue versioni e imposta segreti/variabili d'ambiente nell'host. Prova anche con un piccolo set di dati.
- È lento con CSV di grandi dimensioni: usa letture a blocchi, pre-aggregati o campiona per l'interfaccia utente. Considera il caching e l'offloading di trasformazioni pesanti.
Un'ultima cosa: l'umiltà di un ottimo strumento
Il genio di Streamlit è l'umiltà della sua ambizione. Non cerca di essere un'intera piattaforma; cerca di essere la manopola che trasforma il tuo Python in un'app amichevole. Con i migliori tutorial di Streamlit di cui sopra — documentazione ufficiale per i fondamenti, video di progetto per lo slancio e discorsi sulle best practice per la lucidatura — eviterai di vagare e arriverai alla parte in cui le persone dicono: “Aspetta, l'hai costruito tu?”
E quello è il momento per cui vivi. O almeno, il momento in cui il tuo capo smette di farti inviare 11 versioni dello stesso foglio di calcolo.
FAQ
Q1: Quali sono i migliori tutorial di Streamlit per i principianti assoluti?
Inizia con la guida ufficiale Inizia e il tutorial Crea un'app: sono aggiornati, concisi e garantiti per funzionare con l'ultima versione di Streamlit. Costruirai una piccola app con grafici e widget in meno di due ore.
Q2: Come scelgo tra Streamlit e Dash per la mia dashboard?
Scegli Streamlit quando hai bisogno di velocità e semplicità per strumenti interni o prototipi rapidi; scegli Dash quando hai bisogno di una personalizzazione più profonda e flussi di lavoro aziendali. Prova prima un prototipo del fine settimana in Streamlit: spesso copre il 90% delle esigenze.
Q3: Qual è il percorso più veloce per un'app Streamlit pronta per la produzione?
Segui i tutorial ufficiali, quindi passa a un corso basato su progetti e a un discorso sulle best practice per suggerimenti su struttura e prestazioni. Memorizza nella cache le funzioni pesanti, usa session_state e aggiungi le versioni del tuo pacchetto per mantenere stabili i deployment.
Q4: Streamlit può gestire funzionalità di intelligenza artificiale come la trascrizione o il riepilogo?
Sì: Streamlit funziona bene con le librerie e le API di intelligenza artificiale Python. Usa una guida di progetto comprovata (come un'app di trascrizione AI) per imparare i modelli per caricamenti di file, indicatori di avanzamento e lavori a lunga esecuzione.
Q5: Dove posso trovare idee di app Streamlit del mondo reale per esercitarmi?
Prova le app di utilità: pulizia e conversione dei dati, pianificatori what-if e riassuntori rapidi basati sull'intelligenza artificiale. Esempi realistici che convertono CSV in Excel e visualizzano i dati puliti sono un'ottima pratica e immediatamente utili.