Contattataci

Struttura del corso

Introduzione

Settimana 1: Introduzione allo sviluppo mobile

  • Ecosistema delle applicazioni mobili e tendenze attuali
    • Presentazione del panorama delle app mobili (iOS e Android)
    • Differenze tra applicazioni native, ibride e multipiattaforma
    • Panoramica sul flusso di lavoro e sugli strumenti per lo sviluppo mobile
  • Sviluppo nativo vs multipiattaforma
    • Differenze fondamentali tra la creazione di app per una singola piattaforma (nativa) e per più piattaforme (multipiattaforma)
    • Vantaggi e svantaggi di ciascun approccio
    • Descrizione delle principali piattaforme native (iOS, Android) e degli strumenti multipiattaforma come React Native e Flutter
  • Introduzione alla programmazione JavaScript
    • Sintassi di base e struttura del codice in JavaScript
    • Variabili, costanti e tipi di dati (numeri, stringhe, booleani, oggetti)
    • Operatori ed espressioni logiche
    • Flusso di controllo: if, else, switch
    • Funzioni e ambito di visibilità (globale vs locale)
  • Configurazione dell’ambiente Xcode per lo sviluppo iOS
    • Introduzione all’IDE Xcode: interfaccia, strumenti e flusso di lavoro
    • Installazione di Xcode ed esecuzione del simulatore iOS
    • Presentazione del linguaggio di programmazione Swift<\/li>
    • Scrivere una semplice applicazione in Swift ed eseguirla sul simulatore iOS
  • Configurazione di Android Studio per lo sviluppo Android
    • Installazione di Android Studio e configurazione dell’ambiente di lavoro
    • Utilizzo dell’emulatore Android e sua configurazione
    • Introduzione al linguaggio Kotlin e alla sua sintassi di base
    • Scrivere una semplice applicazione in Kotlin ed eseguirla sull’emulatore Android
  • Impostazione dell’ambiente di sviluppo React Native
    • Installazione di Node.js e del CLI di React Native
    • Introduzione a Expo e creazione di un primo progetto con essa
    • Esecuzione di una semplice applicazione “Hello World” sia sull’emulatore iOS che su quello Android

Settimana 2: Fondamenti di sviluppo per iOS e Android

  • Introduzione a Swift e all’ambiente Xcode IDE
    • Variabili e tipi di dati in Swift (interi, decimali, stringhe, booleani, ecc.)
    • Costanti con let e variabili con var
    • Istruzioni di controllo del flusso (if, switch, cicli)
    • Funzioni e parametri in Swift
    • Gestione degli errori nel codice Swift
  • Progettazione dell’interfaccia utente su iOS
    • Introduzione ai storyboard e all’utilizzo di Xcode Interface Builder
    • Realizzazione di layout grafici con Auto Layout e vincoli imposti
    • Inserimento dei componenti base: pulsanti, etichette, campi testuali, immagini
    • Gestione delle interazioni utente e degli eventi (es. clic sui pulsanti)
    • Creazione di un modulo di login con validazione dei dati inseriti dall’utente
  • Introduzione a Kotlin e all’ambiente Android Studio IDE
    • Sintassi base del linguaggio Kotlin (variabili, tipi di dati e funzioni)
    • Nozioni su sicurezza dei riferimenti null e classi dati in Kotlin
    • Panoramica sull’architettura delle applicazioni Android e sui suoi componenti principali (Activities, Fragments)
    • Gestione del ciclo di vita delle Activity all’interno delle app Android
  • Progettazione dell’interfaccia utente su Android
    • Creazione di layout grafici tramite file XML in Android
    • Lavorare con i manager di disposizione (LinearLayout, RelativeLayout, ConstraintLayout)
    • Inserimento di componenti interattivi (pulsanti, testi, campi editabili)
    • Utilizzo di Java/Kotlin per gestire gli input utente e le transizioni tra schermate
    • Realizzazione di un modulo di login con validazione dei dati inseriti
  • Nozioni base di debug in Xcode e Android Studio
    • Utilizzo di punti d’interruzione, registrazione dei log e console per il debug
    • Gli strumenti più utili per il debug su iOS (Xcode Instruments, Simulatore)
    • Gli strumenti più diffusi per il debugging Android (Logcat, Android Debug Bridge)
  • Test e esecuzione delle applicazioni su dispositivi reali
    • Collegamento dei dispositivi fisici a Xcode e Android Studio
    • Installazione e avvio delle app direttamente sui telefoni iPhone o Android
    • Simulazione di diverse condizioni di rete, livelli di carica della batteria e prestazioni del sistema

Settimana 3: Sviluppo multipiattaforma con React Native

  • Introduzione a React Native e alla programmazione JavaScript per dispositivi mobili
    • Cosa si intende per React Native e perché è consigliato utilizzarlo?
    • Spiegazione del processo di traduzione automatica del codice JavaScript in componenti nativi
    • Sintassi JSX: come scrivere strutture simili a HTML all’interno di JavaScript
    • Il concetto di componenti React: differenze tra quelli funzionali e quelli basati su classi
    • Stato (State) e Props: gestione dei flussi dati all’interno delle applicazioni in React Native<\/li>
  • Personalizzazione stilistica in React Native
    • Introduzione al sistema Flexbox e alla sua importanza nella progettazione di layout responsivi
    • Creazione di interfacce adattabili sia per iOS che per Android
    • Adozione di stili specifici per ciascuna piattaforma tramite il modulo Platform fornito da React Native
  • Sistema di navigazione in React Navigation per app multipiattaforma
    • Panoramica sulle funzionalità di React Navigation e sui contenitori di navigazione disponibili
    • Realizzazione di una navegazione a stack per il passaggio tra le schermate principali
    • Aggiunta di componenti tabbar e menu laterale per strutture più complesse
    • Trasferimento di dati fra le varie schermate e gestione coerente dello stato della navigazione
  • Integrazione delle funzionalità hardware native negli app sviluppate in React Native
    • Utilizzo di servizi quali fotocamera e rilevamento della posizione geografica nei programmi basati su React Native
    • Inserimento di API importanti come Geolocation, Camera e AsyncStorage nei progetti mobili
    • Gestione delle autorizzazioni richieste per l’accesso ad alcuni hardware (con specifiche differenze tra iOS e Android)
    • Salvataggio dei dati in locale tramite AsyncStorage e integrazione di librerie esterne volte all’archiviazione persistente
  • Preparazione delle app per la distribuzione ufficiale
    • Configurazione definitiva delle impostazioni necessarie per la versione produttiva in Xcode e Android Studio
    • Generazione di file APK destinati ad Android ed esecuzione dei test preliminari su dispositivi reali
    • Preparazione delle applicazioni iOS prima della pubblicazione sull’App Store (configurazione degli iconici, ottenimento dei certificati firma codice)
    • Definitiva ottimizzazione dei progetti React Native affinché possano essere rilasciati su entrambe le piattaforme in condizioni stabili e complete
  • Presentazione del progetto finale degli studenti
    • Demonstrazione dell’app cross-platform realizzata dagli allievi davanti alla classe
    • Ricezione di commenti, indicazioni e suggerimenti per eventuali miglioramenti ulteriori
    • Sessione finale di domande e risposte nonché considerazioni conclusive sul corso

Conclusioni e prossimi passi

Requisiti

  • Conoscenza di base dei concetti fondamentali della programmazione

Destinatari

  • Sviluppatori mobili
  • Programmatori
 105 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (3)

Corsi in Arrivo

Categorie relative