Applicazioni web: Immergiti

  • Crea un'applicazione web che visualizzi le immagini e riproduca i suoni
  • Impara a creare grafici di dati in Python utilizzando Jupyter Notebooks
  • Crea un dashboard web app per i dati con Streamlit

STREAMLIT

Realizzare un'applicazione web con Streamlit e Python è semplice. Come le piattaforme di codifica a blocchi, la piattaforma Streamlit include molti componenti e widget che possono essere aggiunti alla tua app con una sola riga di codice. La maggior parte del codice è già scritto e confezionato per te, così puoi concentrarti sugli obiettivi della tua app, invece di impantanarti in un sacco di codice difficile. 

Per esercitarci nell'uso di Streamlit, prenderemo uno dei nostri esempi di applicazione mobile da Thunkable e App Inventor e mostreremo come la stessa applicazione può essere costruita in forma di web app utilizzando Streamlit. 

ATTIVITÀ 1: APP SOUNDBOARD

Tempo stimato: 30 minuti

Codifica un'applicazione web Streamlit

  1. Clicca sul pulsante qui sotto per scaricare le risorse (immagini e file audio) che saranno necessarie per realizzare l'app.
  2. Segui uno di questi video per creare una semplice app Soundboard che riproduce suoni quando si preme un pulsante.
  3. Aggiungi una quarta persona alla tua app. Trova un'immagine e un breve file audio da aggiungere all'app. Ecco un link ad alcuni discorsi famosi.
Scarica i file delle risorse

LAVORARE CON I DATI

Il linguaggio Python funziona bene con i dati. Python ha molte librerie create appositamente per consentire ai coder di leggere, manipolare e tracciare i dati. In combinazione con la piattaforma Streamlit, i coder possono facilmente creare applicazioni che analizzano e visualizzano i dati per gli utenti. Inoltre, è possibile fare il passo successivo per incorporare set di dati e modelli di apprendimento automatico in un'app.

grafici di dati

La maggior parte dei programmatori e dei data scientist che lavorano con i dati in Python utilizza un software chiamato Notebook. Una delle interfacce Notebook più popolari è Jupyter Notebook. Secondo i risultati del sondaggio Kaggle 2022, Jupyter Notebook è l'ambiente di sviluppo interattivo (IDE) di data science più popolare, utilizzato da oltre l'80% degli intervistati. 

Jupyter Notebook viene eseguito in un browser, anche se esistono altre interfacce. Ad esempio, può essere integrato direttamente in Visual Studio Code. 

Il motore che sta dietro al notebook e che esegue il codice è chiamato "kernel". kernel. Per Python, utilizzerai il kernel ipython. 

I quaderni ti permettono di scrivere sia testo che codice Python. Il testo viene scritto utilizzando un linguaggio linguaggio markdowncon semplici comandi per formattare il testo. È un buon modo per aggiungere intestazioni e spiegazioni del codice incluso nel blocco note.

Puoi anche eseguire il codice Python direttamente nel blocco note. 

schermata del taccuino di jupyter con le celle di codice

Simili a un quaderno fisico che potresti usare a scuola, i Jupyter Notebook sono un ottimo modo per prendere appunti, organizzare i tuoi pensieri con un progetto di dati ed esplorare informazioni. La funzione aggiuntiva di esecuzione del codice ti permette di sperimentare con il codice Python in modo controllato e organizzato. 

I Jupyter Notebook ti aiutano a pianificare e testare diversi aspetti della tua applicazione web prima di passare all'editor di codice visivo per creare l'applicazione vera e propria.

LIBRERIE PYTHON

Ci sono molte librerie che dovrai utilizzare nel tuo codice per costruire la tua applicazione web. A libreria è una raccolta di codice pre-scritto che esegue compiti particolari. Le librerie di programmazione sono molto potenti e permettono alla tua applicazione di fare cose potenti con poche righe di codice. 

Per Python, la maggior parte delle librerie richiede che tu le installi prima sul tuo computer, poi nel tuo file di script Python importerai le librerie di cui hai bisogno. 

Un esempio delle librerie di cui avrai bisogno per utilizzare i dati sono numpy e pandas.

Pandas permette alla tua applicazione di lavorare facilmente con grandi quantità di dati. Mette i dati in una specie di dataframe e la tua applicazione lavora con il dataframe. Numpy ha molte funzioni per eseguire operazioni numeriche sui dati del dataframe.

Inoltre, esistono molte librerie di plottaggio e grafici che permettono agli utenti di visualizzare i dati. Le librerie di visualizzazione più diffuse in Python sono matplotlib, plotlye seaborn

La seguente attività utilizzerà tutte queste librerie. L'attività prenderà un set di dati da un'indagine sulla musica e sulla salute mentale per creare un'applicazione che mostri i dati in modi diversi con cui l'utente possa interagire.

ATTIVITÀ 2: CRUSCOTTO DEI DATI

Tempo stimato: 90 minuti

Costruisci un'applicazione web Streamlit

A seconda che tu stia codificando sul tuo computer o nel cloud, segui la serie di video appropriata.
  • Sul tuo computer:
    1. Segui questo video(Parte 1) per installare ed eseguire il Jupyter Notebook. Clicca sul link qui sotto per scaricare il file del notebook.
    2. Segui questo video(Parte 2) per costruire l'app del cruscotto dati utilizzando Streamlit.
  • Nel cloud:
    1. Segui questo video(Parte 1) per eseguire il Jupyter Notebook in Github Codespaces.
    2. Segui questo video(Parte 2) per costruire l'app del cruscotto dati utilizzando Streamlit.io.
Tocca a te: Aggiungi un altro grafico al tuo cruscotto di dati. Puoi scegliere tra gli altri grafici del Quaderno Jupyter originale o creare un nuovo grafico nel Quaderno Jupyter e poi integrare il codice in Streamlit per aggiungerlo alla dashboard.
Scarica il Quaderno

RIFLESSIONE

Congratulazioni, hai realizzato due web app in Streamlit! Poniti queste domande:

riflessione
Hai riscontrato problemi nell'installazione o nell'esecuzione di Jupyter Notebook o Streamlit?
Come hai superato i problemi che hai incontrato?
Come puoi utilizzare le idee di questa lezione nel tuo progetto?

REVISIONE DEI TERMINI CHIAVE

  • Quaderno Jupyter - il famoso ambiente di sviluppo interattivo per la scienza dei dati per lavorare con i dati attraverso la codifica Python
  • Kernel - un processo che esegue e agisce come motore di Jupyter Notebooks
  • Linguaggio Markdown - un linguaggio che ti permette di formattare facilmente il testo in modo che sia più leggibile
  • Biblioteca - raccolta di codice pre-scritto che esegue compiti particolari

RISORSE AGGIUNTIVE

Quaderni Jupyter

 

Streamlit