Struttura del corso

Introduzione

Settimana 1: Panoramica di Mobile Development

  • Ecosistema e piattaforme mobili
    • Panoramica dei sistemi operativi mobili (iOS e Android)
    • Differenze chiave tra iOS, Android e lo sviluppo multipiattaforma
    • App store popolari (Apple App Store, Google Play Store)
    • Introduzione allo sviluppo nativo, ibrido e multipiattaforma
  • Nativo, ibrido e multipiattaforma
    • Vantaggi e sfide di ogni metodo di sviluppo
    • Panoramica di Swift (per iOS), Kotlin (per Android) e React Nativo (multipiattaforma)
    • Come il codice si traduce in piattaforme mobili (JavaScript in codice nativo in React Nativo)
  • Programming Fondamenti
    • Introduzione ai concetti di programmazione (variabili, tipi di dati, funzioni, flusso di controllo)
    • Confronto tra la sintassi dello script Swift, Kotlin e Java
    • Scrittura di programmi semplici utilizzando Swift, Kotlin e JavaScript
  • Configurazione degli ambienti di sviluppo
    • Installazione di Xcode e Android Studio
    • Configurazione React CLI nativa ed Expo
    • Esecuzione di app di base "Hello World" su simulatori ed emulatori

Settimana 2: Introduzione allo script Swift, Kotlin e Java

  • Swift Programming per iOS
    • Variabili, costanti e tipi di dati in Swift
    • Istruzioni del flusso di controllo (if, switch, cicli)
    • Funzioni e parametri in Swift
    • Introduzione all'interfaccia di Xcode e Swift Playgrounds
  • Kotlin Programming per Android
    • Variabili, tipi di dati e funzioni in Kotlin
    • Comprendere la sicurezza nulla di Kotlin
    • Flusso di controllo e strutture ad anello
    • Introduzione all'interfaccia di Android Studio e Kotlin Playground
  • Java Script per React nativo
    • Variabili, costanti e flusso di controllo in JavaScript
    • Funzionalità ES6: funzioni freccia, valori letterali modello e destrutturazione
    • Scrittura ed esecuzione di programmi script di base Javain React nativo utilizzando Expo

Settimana 3: iOS Progettazione dell'interfaccia utente

  • Interfaccia utente Elements in iOS
    • Introduzione a UIKit e SwiftUI
    • Aggiunta e personalizzazione di elementi dell'interfaccia utente come pulsanti, etichette e campi di testo
    • Uso di Interface Builder per progettare l'interfaccia utente
    • Utilizzo degli storyboard e progettazione di interfacce utente multischermo
  • Layout automatico e vincoli
    • Informazioni sul sistema di layout automatico
    • Utilizzo dei vincoli per i layout reattivi su schermi di diverse dimensioni
    • Creazione di visualizzazioni stack e regolazione dinamica degli elementi dell'interfaccia utente
  • Swift Nozioni di base sull'interfaccia utente
    • Introduzione alla progettazione dichiarativa dell'interfaccia utente in SwiftUI
    • Creazione di semplici componenti dell'interfaccia utente utilizzando SwiftUI

Settimana 4: Android Progettazione dell'interfaccia utente

  • XML Layout in Android
    • Introduzione alla progettazione di layout basata su XML
    • Utilizzo di layout comuni: LinearLayout, RelativeLayout, ConstraintLayout
    • Aggiunta e personalizzazione di elementi dell'interfaccia utente: pulsanti, visualizzazioni di testo, visualizzazioni di immagini
    • Utilizzo di ConstraintLayout per layout reattivi e dinamici
  • Design dei materiali
    • Integrazione dei principi del Material Design (colori, icone, tipografia)
    • Utilizzo dei componenti materiali (pulsanti, pulsanti di azione mobili, schede)
    • Implementazione di temi e stili per le app Android

Settimana 5: React Progettazione nativa dell'interfaccia utente

  • React Layout Flexbox nativo
    • Capire Flexbox per la progettazione di layout reattivi
    • Creazione di layout basati su colonne e righe
    • Applicazione di stili ai componenti dell'interfaccia utente con le proprietà Flexbox (justifyContent, alignItems e così via)
  • React Componenti nativi
    • Utilizzo di componenti core come Text, View, TextInput, e Button
    • Creazione di elementi interattivi dell'interfaccia utente, ad esempio moduli e pulsanti
    • Utilizzo del componente per i ScrollView contenuti dinamici

Settimana 6: Gestione dei dati in iOS e Android

  • iOS Gestione dei dati
    • Utilizzo di UserDefaults per la persistenza semplice dei dati
    • Introduzione ai dati di base per l'archiviazione locale di dati complessi
    • Recupero di dati dalle API tramite URLSession
    • Analisi dei dati JSON e visualizzazione nell'interfaccia utente
  • Android Gestione dei dati
    • Utilizzo di SharedPreferences per l'archiviazione di piccole quantità di dati
    • Introduzione a SQLite e Room Persistence Library per la gestione dei database
    • Recupero dei dati dalle API utilizzando Retrofit
    • Analisi di JSON e gestione delle risposte API

Settimana 7: React Stato nativo Management e API

  • Stato e oggetti di scena in React nativo
    • Gestione del flusso di dati all'interno di React Componenti nativi
    • Utilizzo dell'hook useState per la gestione dello stato del componente locale
    • Passaggio di dati tra componenti padre e figlio tramite props
  • Recupero dei dati in React nativo
    • Utilizzo dell'API Fetch e di Axios per effettuare richieste HTTP
    • Visualizzazione dei dati recuperati negli elenchi (utilizzando FlatList, SectionList)
    • Persistenza dei dati in locale utilizzando AsyncStorage in React Native

Settimana 8: Navigazione in iOS e Android

  • iOS Navigazione
    • Introduzione ai controller di navigazione e alla gestione di più schermi
    • Uso dei passaggi seguenti per la transizione tra i controller di visualizzazione
    • Passaggio di dati tra controller di visualizzazione
    • Implementazione di TabBar e NavigationBar per l'esplorazione strutturata
  • Android Navigazione
    • Uso di Activitie e Intents per le app multischermo
    • Passaggio di dati tra Activities utilizzando i bundle
    • Creazione di un cassetto di navigazione e di BottomNavigationView
    • Implementazione di frammenti per una navigazione flessibile nell'interfaccia utente

Settimana 9: Navigazione in React nativo

  • React Nozioni di base sulla navigazione
    • Installazione e configurazione React Navigazione
    • Utilizzo di Stack Navigator per le transizioni di schermata
    • Implementazione del Navigatore schede e del Navigatore cassetto per una navigazione complessa
    • Passaggio di parametri tra le schermate e gestione dello stato di navigazione

Settimana 10: Funzionalità avanzate

  • iOS Funzioni avanzate:
    • Posizione principale e mappe
      • AccessLocalizzazione del dispositivo con Core Location
      • Visualizzazione delle mappe utilizzando MapKit
      • Gestione della geolocalizzazione e del tracciamento della posizione dell'utente
    • Fotocamera e contenuti multimediali
      • AccessFotocamera del dispositivo e libreria di foto
      • Acquisizione e visualizzazione di immagini con UIImagePickerController
      • Archiviazione e recupero di file multimediali
  • Android Funzioni avanzate
    • Posizione e mappe
      • Utilizzo dell'API Google Maps per visualizzare le mappe e la posizione dell'utente
      • AccessVisualizzazione dei dati GPS e gestione della geolocalizzazione
    • Fotocamera e contenuti multimediali
      • Utilizzo di CameraX per scattare foto e gestire le autorizzazioni della fotocamera
      • Visualizzazione delle immagini e gestione dell'archiviazione multimediale
  • React Funzionalità avanzate native
    • React Mappe native
      • Integrazione delle mappe utilizzando react-native-maps
      • Gestione dei servizi basati sulla localizzazione (geolocalizzazione, mappatura del percorso)
    • Accesso alla fotocamera e ai contenuti multimediali
      • Utilizzo della libreria Native Camera React per l'acquisizione di foto
      • AccessArchiviazione multimediale del dispositivo e gestione dei file

Settimana 11: debug e test

  • iOS Debug e test
    • Utilizzo del debugger Xcode
      • Impostazione dei punti di interruzione e controllo delle variabili in Xcode
      • Utilizzo della console per il debug in tempo reale
      • Problemi comuni di debug e come risolverli
    • Unit test in iOS
      • Scrittura ed esecuzione di unit test con il framework XCTest
      • Simulazione di oggetti e test dei componenti dell'interfaccia utente
  • Android Debug e test
    • Utilizzo di Logcat in Android Studio
      • Registrazione e analisi degli errori con Logcat
      • Debug di Android app con punti di interruzione
    • Test unitari in Android
      • Scrittura di unit test con JUnit
      • Test di Android componenti dell'interfaccia utente con Espresso
  • React Debug e test nativi
    • React Strumenti di debug nativi
      • Utilizzo di Chrome DevTools e React Native Debugger per il debug in tempo reale
      • Log della console e controllo delle richieste di rete
    • Unit test in React nativo
      • Scrittura di test unitari utilizzando Jest ed Enzyme
      • Test React Componenti nativi e gestione dei casi di test

Settimana 12: Distribuzione dell'app e progetto capstone

  • Distribuzione e distribuzione
    • iOS Invio all'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 beta testing
    • Android Invio al 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
      • Informazioni sulle norme e le linee guida del Play Store
  • Sviluppo del progetto Capstone
    • Sviluppo del progetto finale
      • Creazione di un'app completamente funzionale a tua scelta
      • Incorpora funzionalità avanzate come chiamate API, navigazione, contenuti multimediali e posizione
      • Presentazione e dimostrazione dell'app finale a colleghi e istruttori

Riepilogo e passaggi successivi

Requisiti

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

Pubblico

  • Sviluppatori mobili
  • Programmatori
 420 ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (5)

Corsi in Arrivo

Categorie relative