Struttura del corso

Introduzione

Settimana 1: Concetti di script avanzati Swift, Kotlin e Java

  • Swift (iOS)
    • Funzioni avanzate: Chiusure, acquisizione di valori, funzioni di ordine superiore
    • Programmazione protocollare e generici
    • Gestione della memoria con ARC (Automatic Reference Counting)
  • Kotlin (Android)
    • Funzioni di estensione e Kotlin Libreria standard
    • Coroutine per la programmazione asincrona
    • Classi sealed, enumerazioni e gestione avanzata degli errori
  • Java Script (React nativo)
    • Funzionalità avanzate ES6+: Destrutturazione, asincrono/await, promesse
    • Concetti di programmazione funzionale in JavaScript
    • Utilizzo di librerie di terze parti in React Native

Settimana 2: Architettura delle app mobili e Design Patterns

  • MVVM (Model-View-ViewModel) per iOS e Android
    • Comprendere l'architettura MVVM per iOS (Swift) e Android (Kotlin)
    • Implementazione di ViewModel e osservazione dei dati con LiveData (Android) e Combine (iOS)
    • ReactProgrammazione attiva con RxSwift e RxKotlin
  • Architettura basata su componenti in React nativo
    • Informazioni sui cicli di vita dei componenti e sugli hook
    • Best practice per la gestione dello stato e degli oggetti di scena su larga scala
    • Utilizzo di React Context API per la gestione globale dello stato

Settimana 3: Concetti avanzati Networking

  • Networking in iOS (Swift)
    • Utilizzo di URLSession per le richieste di rete personalizzate
    • Chiamate API REST avanzate e gestione degli errori
    • Utilizzo dell'analisi codificabile e JSON
    • Best practice per la comunicazione API sicura (pinning SSL, OAuth)
  • Networking in Android (Kotlin)
    • Retrofit per l'esecuzione di chiamate API e la gestione delle risposte
    • Gestione avanzata degli errori API e meccanismi di ripetizione dei tentativi
    • Utilizzo di Gson o Moshi per l'analisi JSON
    • Comunicazione sicura tramite autenticazione HTTPS e OAuth

Settimana 4: Networking in React Nativo

  • Integrazione API con Axios e Fetch
    • Integrazione API avanzata con Axios e Fetch
    • Strategie di gestione degli errori e tentativi nelle richieste di rete
    • Utilizzo dell'autenticazione (JWT, OAuth)
  • WebSocket e tempo reale Communication
    • Introduzione a WebSockets in React nativo
    • Creazione di funzionalità di chat o notifica in tempo reale con connessioni WebSocket
    • Gestione delle connessioni persistenti e degli aggiornamenti dei dati

Settimana 5: Tecniche avanzate di persistenza dei dati

  • Dati di base e SQLite (iOS)
    • Relazioni, recupero e query avanzate dei dati di base
    • Utilizzo diretto di SQLite per iOS applicazioni e gestione delle connessioni al database
    • Gestione e ottimizzazione efficienti dei dati
  • Persistenza della stanza e SQLite (Android)
    • Relazioni e query avanzate nel database delle sale
    • Gestione di set di dati di grandi dimensioni e ottimizzazione delle prestazioni del database
    • Utilizzo di ProGuard per la protezione delle strutture di database
  • Firebase per l'archiviazione cloud (iOS e Android)
    • Integrazione con Firebase per la gestione del database in tempo reale
    • Best practice per la sincronizzazione dei dati locali e cloud

Settimana 6: Stato avanzato Management in React nativo

  • Redux per lo Stato Management
    • Concetti avanzati Redux: Middleware, Thunks e Saghe
    • Ottimizzazione Redux per prestazioni e scalabilità
  • Rinculo per Stato Management
    • Introduzione a Recoil: un'alternativa più flessibile a Redux
    • Gestione della gestione dello stato su larga scala tra i componenti
    • Aggiornamenti efficienti dello stato e gestione dello stato atomico

Settimana 7: Avanzato Animation in iOS e Android

  • iOS (Swift)
    • Nucleo Animation: Animazione di viste, livelli e transizioni
    • UIKit Dynamics: Creazione di animazioni basate sulla fisica
    • Transizioni e animazioni personalizzate tra i controller di visualizzazione
  • Android (Kotlin)
    • MotionLayout per la creazione di animazioni complesse
    • Transizioni di TransitionManager e degli elementi condivisi
    • Animazioni delle proprietà per il ridimensionamento, la rotazione e le modifiche alfanumeriche della vista

Settimana 8: Animations e UI/UX in React nativo

  • React Nativi Animations
    • Utilizzo dell'API Animated e di Reanimated per animazioni complesse
    • Implementazione di gesti e interazioni con React Native Gesture Handler
    • Best practice per le animazioni performanti in React Native
  • Creazione di componenti dell'interfaccia utente personalizzati
    • Costruzione di componenti riutilizzabili e personalizzabili in React Native
    • Implementazione di design reattivi con media query e flexbox

Settimana 9: Integrazione dei moduli nativi e delle funzionalità del dispositivo

  • AccessFunzionalità native del dispositivo
    • Utilizzo avanzato della fotocamera, della geolocalizzazione, del Bluetooth e dei sensori
    • Creazione di moduli nativi in Swift e Kotlin per React Integrazione nativa
    • Integrazione di ARKit per la realtà aumentata in iOS
    • Integrazione di CameraX e ARCore per la realtà aumentata in Android
  • React Bridge nativo e moduli nativi
    • Creazione di moduli nativi personalizzati da integrare con funzionalità specifiche della piattaforma
    • Creazione di bridge Java e Swift per React app native
    • Procedure consigliate per la gestione del codice nativo in un ambiente multipiattaforma

Settimana 10: Test e debug delle applicazioni avanzate

  • Test in iOS (Swift)
    • Scrittura di unit test con XCTest e test dell'interfaccia utente per iOS
    • Uso di Xcode Instruments per la profilatura delle prestazioni e le perdite di memoria
    • Flussi di lavoro di integrazione e test continui con Jenkins e CircleCI
  • Test in Android (Kotlin)
    • Test avanzati JUnit ed Espresso per Android app
    • Profilatura delle prestazioni e identificazione dei colli di bottiglia con Android Profiler
    • Utilizzo di Firebase Test Lab per test automatizzati su più dispositivi
  • React Test nativi
    • Test unitari con Jest e test dei componenti con Enzyme
    • Test end-to-end con Detox e configurazioni di test automatizzate
    • Profilatura delle prestazioni con React debugger nativo e flipper

Settimana 11: distribuzione delle app e integrazione continua

  • Distribuzione dell'App Store (iOS)
    • Preparazione dell'app per l'invio: certificati dell'App Store, profili di provisioning e beta test TestFlight
    • Utilizzo di Fastlane per automatizzare la distribuzione delle app iOS
    • Gestione di App Store Connect e configurazione dei processi di revisione delle app
  • Google Play (Android) Distribuzione
    • Preparare l'APK e firmarlo per l'invio a Google Play
    • Automazione della distribuzione di app Android con Fastlane e Gradle
    • Utilizzo di Google Play Console per la revisione delle app e il beta test
  • Configurazione delle pipeline CI/CD
    • Configurazione di Jenkins, GitHub Actions o CircleCI per pipeline di compilazione e distribuzione automatizzate
    • Utilizzo di Fastlane per i flussi di lavoro CI/CD iOS e Android
    • Procedure consigliate per la gestione del controllo delle versioni, dei numeri di build e dei canali di rilascio

Settimana 12: Progetto Capstone

  • Sviluppo del progetto finale
    • Progetta e sviluppa un'app completamente funzionale che incorpori le funzionalità avanzate apprese durante il corso.
    • Implementa UI/UX personalizzate, animazioni avanzate, gestione dello stato, integrazione di moduli nativi e comunicazione API in tempo reale.
    • Ottimizza le prestazioni dell'app e distribuiscila nell'App Store e Google Play.

Riepilogo e passaggi successivi

Requisiti

  • Solida comprensione dei concetti di programmazione, in particolare in Swift, Kotlin e JavaScript
  • Esperienza precedente nella creazione di app native di base iOS, Android o React
  • Conoscenza di modelli di progettazione come MVC o MVVM ed esperienza con la gestione dello stato di base

Pubblico

  • Sviluppatori mobili
  • Programmatori
 420 ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (5)

Corsi in Arrivo

Categorie relative