Scegli la tua lingua
Corso Kotlin Multiplatform
Più di 2 milioni di studenti in tutto il mondo

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.

Dedika per aziende

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.

Clicca qui

Contenuto del corso

8 Capitoli • 37 LezioniDurata tra 4 e 360 ore (decidi tu)

Capitolo 1Vedi dettagli

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 2Vedi dettagli

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 3Vedi dettagli

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 4Vedi dettagli

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 5Vedi dettagli

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 6Vedi dettagli

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 7Vedi dettagli

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 8Vedi dettagli

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.

Certificazione

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...
Giulio Carlo
Giulio CarloStudente di Marketing Digitale
Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.
Mariana Ferres
Mariana FerresStudentessa di Fotografia
Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!
Luciana Alvarenga
Luciana AlvarengaStudentessa di Nail Design
La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.
André Felipe
André FelipeStudente di Prompt Engineering

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