- Impara a conoscere le web app e a capire come si differenziano dalle app per dispositivi mobili
- Scopri le diverse opzioni per la codifica e la costruzione di applicazioni web
- Installa il software necessario per creare un'applicazione web
Queste sono le attività di questa lezione:
APPE WEB
Per il tuo progetto Technovation, hai la possibilità di costruire un'applicazione mobile applicazione mobile o una web app.
Per i partecipanti che hanno già partecipato a Technovation e sono alla ricerca di una nuova sfida, o per i nuovi partecipanti che hanno già esperienza di coding, potresti prendere in considerazione la realizzazione di un'applicazione web per il tuo progetto Technovation.
Molti partecipanti opteranno per la creazione di un'app per dispositivi mobili, utilizzando uno dei nostri programmi suggeriti, App Inventor o Thunkable. Se sei alle prime armi con la codifica o sai di voler usare App Inventor o Thunkable per codificare la tua app, puoi saltare questa lezione!
La creazione di un'applicazione web comporta una codifica basata sul testo ed è più avanzata rispetto alla codifica a blocchi con App Inventor o Thunkable.
Iniziamo con un'analisi della differenza tra applicazioni mobili, applicazioni web e applicazioni web progressive.
App mobile
- un programma che funziona in modo nativo sul telefono
- scaricato e installato sul dispositivo
- può accedere alle funzioni del telefono, come il GPS e la fotocamera.
- specifici per la piattaforma (iOS o Android)
- codificati con linguaggi particolari per adattarsi al sistema operativo
Applicazione web
- assomiglia molto a un'applicazione mobile
- funziona in un browser internet
- non è nativo di un particolare dispositivo (iOS o Android)
- è generalmente codificato con HTML, CSS, Javascript e Python.
- non può essere eseguito quando è offline
Progressive Web App
- un tipo particolare di applicazione web che è un ibrido tra un'applicazione mobile e un'applicazione web.
- viene eseguito in un browser
- può anche essere installata sul dispositivo mobile come una normale applicazione mobile.
- può essere eseguito anche quando l'utente è offline
Si noti che una web app è diversa da un sito web. Un sito web è statico, codificato con HTML e CSS. Le applicazioni web sono dinamiche e mutevoli, basate sugli input degli utenti e su altre interazioni esterne. Per il tuo progetto Technovation, un sito web non è accettabile.
Esploreremo alcune opzioni per principianti per la creazione di applicazioni web.
Una grande differenza rispetto alle piattaforme per la creazione di app che trattiamo per le app mobili è che creerai un'app web utilizzando un linguaggio di programmazione basato sul testo invece che sui blocchi.
Esistono due linguaggi principali che vengono utilizzati per creare applicazioni web.
JAVASCRIPT

Javascript, o JSè un linguaggio di scripting. Ciò significa che il codice viene eseguito in fase di esecuzione, invece di essere compilato, come avviene per le applicazioni mobili. È come se un attore eseguisse il suo copione durante uno spettacolo ogni volta che questo va in scena.
Javascript viene spesso combinato con HTML e CSS per realizzare siti web. L'HTML e i CSS sono utilizzati per creare siti web statici, che possono presentare informazioni ma non cambiano. Javascript aggiunge interattività e la possibilità di cambiare e aggiornare il sito web in base a fattori esterni. Un sito web dinamico e interattivo è essenzialmente una web app.
PITONE

Python è un linguaggio di programmazione generale molto popolare. Python è sia un linguaggio di programmazione e un linguaggio di scripting, quindi può essere compilato per essere eseguito ma può anche essere eseguito in fase di esecuzione.
È considerato un linguaggio semplice e versatile, accessibile anche ai nuovi codificatori. Viene utilizzato in molti aspetti diversi dello sviluppo del software. Un'area è lo sviluppo web. Un altro è l'apprendimento automatico. Python è quindi un'ottima opzione per imparare e sviluppare applicazioni web AI più avanzate.
In questo corso ci concentreremo sulla creazione di applicazioni web con Python. Per costruire facilmente un'applicazione web con Python, utilizzeremo un framework chiamato Streamlit. Streamlit ti permette di costruire applicazioni web potenti e interattive con poco codice. È specializzato in applicazioni che coinvolgono i dati e ti permette di utilizzare facilmente le librerie di apprendimento automatico di Python per incorporare l'intelligenza artificiale nelle tue applicazioni.
Ecco alcune caratteristiche principali.
- Una buona opzione per chi ha molta esperienza di codifica a blocchi ed è alla ricerca di una nuova sfida.
- Ottimo per le persone che hanno fatto un po' di codifica basata su testo
- Un linguaggio molto versatile e ampiamente utilizzato
- Dovrai installare un software sul tuo computer
- Python e librerie associate
- Un editor di codice
- Streamlit ha la possibilità di essere eseguito nel browser, utilizzando Github
- Non tratteremo questa opzione in questo programma di studio.
- Puoi usare l'intelligenza artificiale con esso
- Il linguaggio più diffuso per la creazione e l'utilizzo di modelli di apprendimento automatico
- In questo corso di studi utilizzeremo i Jupyter Notebook per la creazione di modelli.
COME INIZIARE
Per codificare le applicazioni web per il tuo progetto Technovation, avrai bisogno di:
- un computer o un portatile
- Accesso a Internet
Dovresti avere una certa dimestichezza nell'uso della finestra del Terminale su Mac o Linux e del Terminale o del prompt dei comandi su Windows. Se non hai esperienza o non sai nemmeno cosa sia la finestra del Terminale, dai un'occhiata a questi video per principianti prima di procedere con l'attività.
Guarda il video appropriato per il tuo sistema operativo.
Ci occuperemo di due opzioni per lo sviluppo di applicazioni web. Puoi scrivere sul tuo computer o sul portatile oppure puoi scrivere tutto nel cloud. Puoi scegliere entrambe le opzioni, ma ti consigliamo di sceglierne una e di seguirla per tutto il tuo progetto Technovation. Sapere come usare i comandi del terminale di cui sopra è utile per entrambe le opzioni.
Ecco alcuni pro e contro per ciascuno di essi.
SUL TUO COMPUTER
PROS:
- I file vengono salvati sul tuo computer
- Impara a usare Visual Studio Code, un IDE molto popolare.
- Imparerai molto sull'uso della finestra del terminale, sull'installazione dei pacchetti, ecc.
- Controllo completo e scelta del software utilizzato
- Puoi codificare senza avere sempre bisogno di un accesso a internet
CONS:
- Non è facile condividere file e codice con il tuo team
- L'installazione dei pacchetti può essere molto frustrante e può richiedere molto tempo per la configurazione.
- Potenziale perdita di file in caso di crash del computer
NEL CLOUD
PROS:
- I file sono archiviati nel cloud
- Non è necessario installare nulla sul tuo computer
- Collegamento automatico a Github per il portfolio
- Facile da condividere e codificare in team
CONS:
- Non ha esperienza nell'utilizzo di software a livello locale
- Dipendenza dalla connessione a Internet
Scegli l'Attività A o l'Attività B, a seconda che tu voglia codificare localmente sul tuo computer o nel cloud.
ATTIVITÀ A: INIZIA A USARE PYTHON SUL TUO COMPUTER
INSTALLA IL SOFTWARE E CODIFICA L'APP INIZIALE
- Passo 1: Installare Python. Ecco una buona serie di istruzioni per Window, Mac o Linux.
- Passo 2: installare un editor di codice e Streamlit. Questo video ti mostra come installare Visual Studio Code e poi installare Streamlit per eseguirlo dall'editor di codice.
- Fase 3: Esegui una semplicissima web app Streamlit nell'ambiente VS Code seguendo questo video.
- Festeggia facendo uno screenshot della tua prima web app e invialo con una nota al tuo mentore!
ATTIVITÀ B: INIZIARE CON PYTHON NEL CLOUD
CREARE ACCOUNT E CODIFICARE UN'APPLICAZIONE
REVISIONE DEI TERMINI CHIAVE
- App Web - un'applicazione che assomiglia a un'applicazione mobile ma viene eseguita in un browser internet ed è codificata utilizzando HTML, CSS e Javascript o Python.
RIFLESSIONE
Congratulazioni per aver provato il coding basato sul testo! Ecco alcune domande di riflessione da fare con il tuo team e con il tuo tutor.

RISORSE AGGIUNTIVE
Dovrai fare riferimento alla documentazione e all'assistenza per lavorare con Python e Streamlit. Qui di seguito trovi alcuni buoni punti di partenza.
- La guida per principianti di Python.org contiene alcuni link utili per imparare meglio Python.
- Galleria di app di Streamlit
- La playlist completa del corso Streamlit di Nileg Production