
Corso Kotlin Multiplatform
Padroneggia Kotlin Multiplatform e distribuisci app pronte per la produzione per Android e iOS a partire da un'unica codebase condivisa. Questo corso ti guida dalla configurazione dell'ambiente all'architettura, alla rete, allo storage e all'integrazione con UI native. Smetti di scrivere la stessa logica due volte e inizia a sviluppare in modo più intelligente, veloce e manutenibile.
Cosa imparerai:
Imparerà a strutturare un progetto Kotlin Multiplatform utilizzando source set, dichiarazioni expect/actual e configurazioni Gradle multi-modulo. Implementerà la condivisione della rete con Ktor, la serializzazione dei dati con kotlinx.serialization e la persistenza locale con SQLDelight. Il corso illustra le coroutine, Kotlin Flow e la configurazione dei dispatcher specifici per piattaforma, per un codice asincrono affidabile su ogni target. Collegherà il tutto utilizzando Koin per l'iniezione delle dipendenze e connetterà ViewModel condivisi sia a Jetpack Compose che a SwiftUI. Alla fine, fornirà una funzionalità completa e testata, eseguita su dispositivi Android e iOS reali.
Come studi in modo pratico Corso Kotlin Multiplatform
Come metti in pratica Corso Kotlin Multiplatform
Per te che sei un'azienda e vuoi formare il tuo team
Su Dedika per aziende, il corso include esercizi ed esempi personalizzati sul tuo business e secondo le esigenze della tua azienda.
Contenuto del corso
8 Capitoli • 37 LezioniDurata tra 4 e 360 ore (decidi tu)
Capitolo 1NascondiNascondi dettagliVedi dettagliIntroduzione a Kotlin Multiplatform
Introduzione a Kotlin Multiplatform
Lezione 1 • Comprendere il Gradle Build System
Spiega come Gradle orchestra le compilazioni multipiattaforma e gestisce le dipendenze. Collega la conoscenza della configurazione delle build a ogni successiva attività di codifica del corso.
Lezione 2 • Creare il Primo Progetto KMP
Guida attraverso la creazione del progetto usando la procedura guidata per progetti KMP ed esamina la struttura generata. Gli studenti acquisiscono familiarità con il layout del modulo prima di scrivere logica condivisa.
Lezione 3 • Predisporre l'Ambiente di Sviluppo
Guida all'installazione degli strumenti necessari, tra cui Android Studio, Xcode e il plugin Kotlin Multiplatform. Garantisce che ogni studente disponga di uno spazio di lavoro funzionante prima di scrivere codice.
Lezione 4 • Cos'è Kotlin Multiplatform
Definisce KMP, i suoi obiettivi e come si differenzia dalle alternative multipiattaforma. Fornisce il contesto sul perché KMP è adottato nello sviluppo moderno mobile e desktop.
Capitolo 2NascondiNascondi dettagliVedi dettagliElementi Fondamentali del Linguaggio Kotlin per KMP
Elementi Fondamentali del Linguaggio Kotlin per KMP
Lezione 1 • Modelli Object-Oriented in Kotlin
Esamina classi, interfacce, ereditarietà e data class utilizzate estensivamente nei moduli condivisi. Questi modelli costituiscono la struttura portante della logica di business condivisa.
Lezione 2 • Estensioni e Delega in Kotlin
Insegna le funzioni di estensione, le proprietà di estensione e i pattern di delega di proprietà. Questi strumenti riducono il codice boilerplate nei moduli condivisi e migliorano la progettazione dell'API multipiattaforma.
Lezione 3 • Funzionalità di Programmazione Funzionale
Introduce lambda, funzioni di ordine superiore e operazioni sulle collection fondamentali per un codice condiviso conciso. Gli studenti applicano queste funzionalità per trasformare e filtrare modelli di dati condivisi.
Lezione 4 • Ripasso della Sintassi Kotlin di Base
Tratta variabili, funzioni, flusso di controllo e null safety come base per il codice condiviso. Garantisce una padronanza uniforme di Kotlin prima di introdurre modelli specifici per il multipiattaforma.
Lezione 5 • Generici e Sistema dei Tipi
Tratta i generici, la varianza e i vincoli di tipo come utilizzati nelle API delle librerie condivise. Comprendere il sistema dei tipi previene errori a runtime quando si condivide codice tra piattaforme.
Capitolo 3NascondiNascondi dettagliVedi dettagliArchitettura del Codice Condiviso e Source Set
Architettura del Codice Condiviso e Source Set
Lezione 1 • Progetti KMP Multi-Modulo
Dimostra come suddividere un progetto KMP in più moduli Gradle per la scalabilità. Gli studenti configurano le dipendenze tra moduli e comprendono i compromessi sulle prestazioni di build.
Lezione 2 • Gerarchia dei Source Set Spiegata
Descrive in dettaglio commonMain, i source set specifici per piattaforma e i source set intermedi. Comprendere la gerarchia è prerequisito per tutte le decisioni di progettazione del codice condiviso nel corso.
Lezione 3 • Dichiarazioni Expect e Actual
Spiega il meccanismo expect/actual per dichiarare implementazioni specifiche per piattaforma dal codice condiviso. Gli studenti implementano API di piattaforma senza rompere il contratto del modulo common.
Lezione 4 • Progettare il Modulo Condiviso
Tratta i principi per decidere cosa appartiene al codice condiviso rispetto a quello di piattaforma. Gli studenti applicano il pensiero della separazione delle responsabilità per produrre architetture multipiattaforma manutenibili.
Capitolo 4NascondiNascondi dettagliVedi dettagliCoroutine e Programmazione Asincrona
Coroutine e Programmazione Asincrona
Lezione 1 • Dispatcher delle Coroutine in KMP
Spiega come i dispatcher differiscono tra i target Android, iOS e JVM in KMP. Gli studenti configurano dispatcher appropriati per la piattaforma usando pattern expect/actual.
Lezione 2 • Esporre le Coroutine a iOS
Affronta la sfida di consumare le coroutine Kotlin da Swift, che manca del supporto nativo alle coroutine. Gli studenti usano wrapper e librerie per collegare il codice asincrono a iOS.
Lezione 3 • Fondamenti delle Coroutine
Introduce le funzioni suspend, i costruttori di coroutine e il ciclo di vita delle coroutine. Questi concetti sono alla base di ogni operazione asincrona nei moduli KMP condivisi.
Lezione 4 • Kotlin Flow per Stream Reattivi
Tratta cold flow, state flow e shared flow per pipeline di dati reattivi nel codice condiviso. Gli studenti costruiscono livelli di dati osservabili consumati sia dalle UI Android che iOS.
Lezione 5 • Gestione delle Eccezioni nelle Coroutine
Insegna la gestione strutturata delle eccezioni con CoroutineExceptionHandler e supervisorScope. Una corretta gestione degli errori previene fallimenti silenziosi nella logica asincrona condivisa.
Capitolo 5NascondiNascondi dettagliVedi dettagliNetworking e Serializzazione dei Dati
Networking e Serializzazione dei Dati
Lezione 1 • Analizzare e Mappare le Risposte API
Tratta la deserializzazione delle risposte JSON in data model Kotlin e la loro mappatura in oggetti di dominio. Una mappatura pulita dei dati mantiene le UI di piattaforma disaccoppiate dai contratti API grezzi.
Lezione 2 • Fondamenti di kotlinx.serialization
Introduce la libreria kotlinx.serialization per codificare e decodificare dati nel codice condiviso. La serializzazione è la base per tutta la gestione dei dati di rete e di archiviazione.
Lezione 3 • Gestire Errori di Rete e Riprova
Implementa una gestione robusta degli errori, la configurazione dei timeout e la logica di riprova nel client Ktor condiviso. Un networking resiliente migliora l'affidabilità dell'app su connessioni mobili instabili.
Lezione 4 • Testare il Livello di Rete
Utilizza MockEngine di Ktor per scrivere unit test per il livello di rete condiviso senza chiamate HTTP reali. Il codice di rete testabile riduce il rischio di regressione durante le modifiche alle API.
Lezione 5 • Costruire un Client HTTP Ktor
Configura il client HTTP multipiattaforma Ktor con motori specifici per piattaforma. Gli studenti effettuano richieste GET e POST dal codice condiviso per Android e iOS.
Capitolo 6NascondiNascondi dettagliVedi dettagliArchiviazione Locale e Persistenza dei Dati
Archiviazione Locale e Persistenza dei Dati
Lezione 1 • Introduzione a SQLDelight
Spiega la verifica SQL in fase di compilazione e la generazione di query type-safe di SQLDelight. Gli studenti comprendono come SQLDelight differisce dagli approcci ORM prima di scrivere schemi.
Lezione 2 • Integrare SQLDelight con le Coroutine
Wrappa le query di SQLDelight in flow e funzioni suspend per un accesso reattivo ai dati. L'integrazione con le coroutine collega il livello database al ViewModel o repository condiviso.
Lezione 3 • Impostazioni Multipiattaforma per l'Archiviazione Chiave-Valore
Introduce la libreria multiplatform-settings per memorizzare le preferenze nel codice condiviso. L'archiviazione chiave-valore è il livello di persistenza più semplice ed è un prerequisito per il lavoro con il database.
Lezione 4 • Definire Schemi e Query
Tratta la scrittura di file .sq per definire tabelle, inserimenti, aggiornamenti e selezioni. Le API Kotlin generate dai file SQL formano il livello di accesso ai dati utilizzato dai repository condivisi.
Lezione 5 • Migrazione dei Dati e Versionamento
Insegna il versionamento dello schema e gli script di migrazione per evolvere il database senza perdita di dati. La strategia di migrazione è essenziale per le app in produzione con dati utente esistenti.
Capitolo 7NascondiNascondi dettagliVedi dettagliIniezione delle Dipendenze in KMP
Iniezione delle Dipendenze in KMP
Lezione 1 • Testare con l'Iniezione delle Dipendenze
Sostituisce le dipendenze reali con fake e mock nei moduli di test di Koin. Unit test isolati convalidano la logica condivisa senza richiedere i runtime di piattaforma.
Lezione 2 • Collegare Repository e Casi d'Uso
Dimostra come iniettare repository, sorgenti dati e casi d'uso attraverso i moduli Koin. Gli studenti costruiscono un grafo delle dipendenze completo per il livello di logica di business condivisa.
Lezione 3 • Principi dell'Iniezione delle Dipendenze
Ripassa i concetti di DI, tra cui inversione del controllo, service locator e iniezione tramite costruttore. La base concettuale garantisce che gli studenti scelgano l'approccio DI giusto per KMP.
Lezione 4 • Configurare Koin in KMP
Configura i moduli Koin in commonMain e li inizializza su ciascuna piattaforma. Il runtime leggero di Koin lo rende la soluzione DI più pratica per il codice KMP condiviso.
Capitolo 8NascondiNascondi dettagliVedi dettagliIntegrazione della Piattaforma e Connettività UI
Integrazione della Piattaforma e Connettività UI
Lezione 1 • Integrare il Codice Condiviso in iOS
Consuma il framework Kotlin condiviso da SwiftUI utilizzando wrapper ObservableObject. Gli studenti collegano gli state flow di Kotlin ai pattern Combine o async/await di Swift.
Lezione 2 • Implementare Funzionalità Specifiche per Piattaforma
Utilizza expect/actual per implementare funzionalità di piattaforma come accesso alla fotocamera, notifiche e biometria. Gli studenti estendono le API condivise con capacità native senza rompere il codice common.
Lezione 3 • Realizzazione di una Funzionalità End-to-End
Assembla i livelli di networking, archiviazione, DI e UI in una funzionalità completa e funzionante. Gli studenti convalidano l'intera sezione verticale su dispositivi Android e iOS reali.
Lezione 4 • Integrare il Codice Condiviso in Android
Connette il modulo condiviso all'UI Jetpack Compose su Android utilizzando l'integrazione ViewModel standard. Gli studenti osservano i flussi di stato condivisi e inviano eventi dalle schermate Compose.
Lezione 5 • Pattern ViewModel Condiviso
Implementa un ViewModel indipendente dalla piattaforma nel codice condiviso utilizzando coroutine e state flow. Un ViewModel condiviso riduce la logica di presentazione duplicata tra Android e iOS.
Il tuo certificato valido di completamento
Questo corso è per te:
Sviluppatore Android: desidera estendere le competenze Kotlin esistenti per coprire i target iOS.
Sviluppatore iOS: curioso di conoscere livelli di logica condivisa senza abbandonare completamente SwiftUI.
Sviluppatore full-stack: realizza funzionalità mobile ed è stanco di duplicare la logica di business.
Tech lead mobile: valuta l'adozione di KMP e necessita di un fondamento architetturale pratico.
Sviluppatore di app freelance: cerca di servire entrambe le piattaforme senza raddoppiare lo sforzo di sviluppo.
Studente di informatica: cerca competenze multipiattaforma pratiche per distinguersi nella ricerca di un job.
Cosa dicono i nostri studenti
Le sue lezioni sono perfette. Ho acquistato il pacchetto annuale e finalmente ho l'opportunità di seguire diversi argomenti di mio interesse senza dover cambiare piattaforma... vi ringrazio per tutto quello che fate, vi ho già raccomandati ad altre persone...

Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.

Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!

La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.

Principali percorsi formativi
FAQ
Chi è Dedika?
Il certificato è valido in Italia?
I corsi sono gratuiti?
Qual è il carico di lavoro del corso?
Come sono strutturati i corsi?
Come funzionano i corsi?
Qual è la durata dei corsi?
Qual è il costo o il prezzo dei corsi?
Cos’è un corso EAD o online e come funziona?
Corso PDF




















