Contattataci

Struttura del corso

Introduzione

Settimana 1: Panoramica dello Sviluppo Mobile

  • Ecosistema e Piattaforme Mobile
    • Panoramica dei sistemi operativi mobili (iOS e Android)
    • Principali differenze tra sviluppo iOS, Android e multipiattaforma
    • Negozio di app popolari (Apple App Store, Google Play Store)
    • Introduzione allo sviluppo nativo, ibrido e multipiattaforma
  • Nativo vs Ibrido vs Multipiattaforma
    • Vantaggi e sfide di ciascun metodo di sviluppo
    • Panoramica di Swift (per iOS), Kotlin (per Android) e React Native (multipiattaforma)
    • Come il codice viene tradotto nelle piattaforme mobili (da JavaScript a codice nativo in React Native)
  • Fondamenti di Programmazione
    • Introduzione ai concetti di programmazione (variabili, tipi di dati, funzioni, flusso di controllo)
    • Confronto della sintassi tra Swift, Kotlin e JavaScript
    • Scrittura di semplici programmi utilizzando Swift, Kotlin e JavaScript
  • Configurazione degli Ambienti di Sviluppo
    • Installazione di Xcode e Android Studio
    • Configurazione di React Native CLI e Expo
    • Esecuzione di app di base "Hello World" su simulatori ed emulatore

Settimana 2: Introduzione a Swift, Kotlin e JavaScript

  • Programmazione Swift per iOS
    • Variabili, costanti e tipi di dati in Swift
    • Istruzioni di flusso di controllo (if, switch, cicli)
    • Funzioni e parametri in Swift
    • Introduzione all'interfaccia di Xcode e Swift Playgrounds
  • Programmazione Kotlin per Android
    • Variabili, tipi di dati e funzioni in Kotlin
    • Comprensione della null safety di Kotlin
    • Strutture di flusso di controllo e cicli
    • Introduzione all'interfaccia di Android Studio e Kotlin Playground
  • JavaScript per React Native
    • Variabili, costanti e flusso di controllo in JavaScript
    • Funzionalità ES6: funzioni arrow, template literals e destructuring
    • Scrittura ed esecuzione di programmi JavaScript di base in React Native utilizzando Expo

Settimana 3: Progettazione dell'Interfaccia Utente iOS

  • Elementi UI in iOS
    • Introduzione a UIKit e SwiftUI
    • Aggiunta e personalizzazione di elementi UI come pulsanti, etichette e campi di testo
    • Utilizzo di Interface Builder per progettare l'UI
    • Lavoro con Storyboards e progettazione di UI multi-schermo
  • Auto Layout e Vincoli
    • Comprensione del sistema Auto Layout
    • Utilizzo dei vincoli per layout reattivi su diverse dimensioni di schermo
    • Creazione di stack view e regolazione dinamica degli elementi UI
  • Fondamenti di SwiftUI
    • Introduzione alla progettazione dichiarativa dell'UI in SwiftUI
    • Creazione di semplici componenti UI utilizzando SwiftUI

Settimana 4: Progettazione dell'Interfaccia Utente Android

  • Layout XML in Android
    • Introduzione alla progettazione di layout basata su XML
    • Lavoro con layout comuni: LinearLayout, RelativeLayout, ConstraintLayout
    • Aggiunta e personalizzazione di elementi UI: pulsanti, viste di testo, viste di immagini
    • Utilizzo di ConstraintLayout per layout reattivi e dinamici
  • Material Design
    • Integrazione dei principi di Material Design (colori, icone, tipografia)
    • Utilizzo di Material Components (pulsanti, pulsanti di azione fluttuanti, card)
    • Implementazione di temi e stili per le app Android

Settimana 5: Progettazione dell'Interfaccia Utente React Native

  • Layout Flexbox in React Native
    • Comprensione di Flexbox per la progettazione di layout reattivi
    • Creazione di layout basati su colonne e righe
    • Stilizzazione dei componenti UI con proprietà Flexbox (justifyContent, alignItems, ecc.)
  • Componenti React Native
    • Lavoro con componenti principali come Text, View, TextInput e Button
    • Creazione di elementi UI interattivi come moduli e pulsanti
    • Utilizzo del componente ScrollView per contenuto dinamico

Settimana 6: Gestione dei Dati in iOS e Android

  • Gestione Dati in iOS
    • Utilizzo di UserDefaults per la persistenza di dati semplici
    • Introduzione a Core Data per l'archiviazione locale di dati complessi
    • Riprensione di dati da API utilizzando URLSession
    • Analisi dei dati JSON e visualizzazione nell'UI
  • Gestione Dati in Android
    • Utilizzo di SharedPreferences per lo stoccaggio di piccole quantità di dati
    • Introduzione a SQLite e Room Persistence Library per la gestione dei database
    • Riprensione di dati da API utilizzando Retrofit
    • Analisi del JSON e gestione delle risposte API

Settimana 7: Gestione dello Stato e API in React Native

  • Stato e Props in React Native
    • Gestione del flusso di dati all'interno dei componenti React Native
    • Utilizzo dell'hook useState per gestire lo stato locale dei componenti
    • Passaggio di dati tra componenti padre e figlio tramite props
  • Riprensione Dati in React Native
    • Utilizzo di Fetch API e Axios per effettuare richieste HTTP
    • Visualizzazione dei dati recuperati in elenchi (utilizzando FlatList, SectionList)
    • Persistenza locale dei dati utilizzando AsyncStorage in React Native

Settimana 8: Navigazione in iOS e Android

  • Navigazione iOS
    • Introduzione ai controller di navigazione e gestione di più schermate
    • Utilizzo delle segues per transizioni tra i controller delle viste
    • Passaggio di dati tra controller delle viste
    • Implementazione di TabBar e NavigationBar per una navigazione strutturata
  • Navigazione Android
    • Lavoro con Activities e Intents per app multi-schermo
    • Passaggio di dati tra Activity utilizzando Bundles
    • Creazione di un Navigation Drawer e un BottomNavigationView
    • Implementazione di fragment per una navigazione UI flessibile

Settimana 9: Navigazione in React Native

  • Fondamenti di React Navigation
    • Installazione e configurazione di React Navigation
    • Utilizzo di Stack Navigator per transizioni tra schermate
    • Implementazione di Tab Navigator e Drawer Navigator per navigazione complessa
    • Passaggio di parametri tra schermate e gestione dello stato di navigazione

Settimana 10: Funzionalità Avanzate

  • Funzionalità Avanzate iOS:
    • Geolocalizzazione e mappe
      • Accesso alla posizione del dispositivo con Core Location
      • Visualizzazione di mappe utilizzando MapKit
      • Gestione della geolocalizzazione e del tracciamento della posizione dell'utente
    • Fotocamera e media
      • Accesso alla fotocamera del dispositivo e alla libreria fotografica
      • Cattura e visualizzazione di immagini con UIImagePickerController
      • Archiviazione e recupero di file multimediali
  • Funzionalità Avanzate Android
    • Posizione e mappe
      • Utilizzo dell'API Google Maps per visualizzare mappe e posizione dell'utente
      • Accesso ai dati GPS e gestione della geolocalizzazione
    • Fotocamera e media
      • Utilizzo di CameraX per catturare foto e gestire i permessi della fotocamera
      • Visualizzazione di immagini e gestione dello stoccaggio dei media
  • Funzionalità Avanzate React Native
    • Mappe React Native
      • Integrazione di mappe utilizzando react-native-maps
      • Gestione di servizi basati sulla posizione (geolocalizzazione, mappatura di percorsi)
    • Accesso a Fotocamera e Media
      • Utilizzo della libreria React Native Camera per la cattura di foto
      • Accesso allo stoccaggio dei media del dispositivo e gestione dei file

Settimana 11: Debug e Test

  • Debug e Test iOS
    • Utilizzo del debugger Xcode
      • Impostazione di breakpoint e ispezione delle variabili in Xcode
      • Utilizzo della console per il debug in tempo reale
      • Problemi di debug comuni e come risolverli
    • Test unitari in iOS
      • Scrittura ed esecuzione di test unitari utilizzando il framework XCTest
      • Mocking degli oggetti e test dei componenti UI
  • Debug e Test Android
    • Utilizzo di Logcat in Android Studio
      • Logging e analisi degli errori utilizzando Logcat
      • Debug delle app Android con breakpoint
    • Test unitari in Android
      • Scrittura di test unitari utilizzando JUnit
      • Test dei componenti UI Android con Espresso
  • Debug e Test React Native
    • Strumenti di debug React Native
      • Utilizzo di Chrome DevTools e React Native Debugger per il debug in tempo reale
      • Log di console e ispezione delle richieste di rete
    • Test unitari in React Native
      • Scrittura di test unitari utilizzando Jest e Enzyme
      • Test dei componenti React Native e gestione dei casi di test

Settimana 12: Distribuzione delle App e Progetto Capstone

  • Distribuzione e Diffusione
    • Invio su Apple App Store
      • Preparazione dell'app per la distribuzione (icone, certificati, profili di provisioning)
      • Utilizzo di App Store Connect per inviare l'app per la revisione
      • Utilizzo di TestFlight per il test beta
    • Invio su Google Play Store
      • Preparazione dell'APK e firma dell'app per la distribuzione
      • Utilizzo di Google Play Console per l'invio e il monitoraggio dell'app
      • Comprensione delle politiche e delle linee guida del Play Store
  • Sviluppo del Progetto Capstone
    • Sviluppo del progetto finale
      • Costruzione di un'app completamente funzionante a scelta
      • Incorporazione di funzionalità avanzate come chiamate API, navigazione, media e posizione
      • Presentazione e dimostrazione dell'app finale ai pari e agli istruttori

Riepilogo e Prossimi Passi

Requisiti

  • Comprensione di base dei concetti di programmazione
  • Conoscenza di base di JavaScript

Target

  • Sviluppatori mobili
  • Programmatore
 420 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (3)

Corsi in Arrivo

Categorie relative