Kotlin Multiplatform és una característica poderosa de Kotlin que permet compartir codi entre diverses plataformes, com Android, iOS, web i backend. Aquesta capacitat de compartir codi ajuda a reduir la duplicació d'esforços i a mantenir la coherència en les aplicacions multiplataforma.
Objectius d'Aprenentatge
En aquesta secció, aprendràs:
- Què és Kotlin Multiplatform i els seus avantatges.
- Com configurar un projecte Kotlin Multiplatform.
- Com compartir codi entre diferents plataformes.
- Com gestionar les dependències específiques de la plataforma.
- Exemples pràctics de codi compartit.
Què és Kotlin Multiplatform?
Kotlin Multiplatform permet escriure codi comú que es pot executar en diverses plataformes. Això inclou:
- Android: Utilitzant Kotlin/JVM.
- iOS: Utilitzant Kotlin/Native.
- Web: Utilitzant Kotlin/JS.
- Backend: Utilitzant Kotlin/JVM o Kotlin/Native.
Avantatges de Kotlin Multiplatform
- Reutilització de Codi: Escriu una vegada, utilitza en qualsevol lloc.
- Manteniment Simplificat: Menys codi duplicat significa menys errors i menys esforç de manteniment.
- Consistència: Les lògiques de negoci i les regles es mantenen coherents a través de les plataformes.
Configuració d'un Projecte Kotlin Multiplatform
Passos per Configurar el Projecte
-
Instal·la IntelliJ IDEA o Android Studio: Assegura't de tenir la darrera versió.
-
Crea un Nou Projecte Kotlin Multiplatform:
- Obre IntelliJ IDEA o Android Studio.
- Selecciona "New Project".
- Tria "Kotlin Multiplatform" com a plantilla de projecte.
-
Configura el
build.gradle.kts
:plugins { kotlin("multiplatform") version "1.5.31" } kotlin { jvm() js { browser { testTask { useKarma { useChromeHeadless() } } } } ios() sourceSets { val commonMain by getting { dependencies { implementation(kotlin("stdlib-common")) } } val commonTest by getting { dependencies { implementation(kotlin("test-common")) implementation(kotlin("test-annotations-common")) } } val jvmMain by getting val jvmTest by getting val jsMain by getting val jsTest by getting val iosMain by getting val iosTest by getting } }
Estructura del Projecte
El projecte tindrà la següent estructura:
project │ ├── build.gradle.kts ├── settings.gradle.kts └── src ├── commonMain │ └── kotlin ├── commonTest │ └── kotlin ├── jvmMain │ └── kotlin ├── jvmTest │ └── kotlin ├── jsMain │ └── kotlin ├── jsTest │ └── kotlin ├── iosMain │ └── kotlin └── iosTest └── kotlin
Compartir Codi entre Diferents Plataformes
Exemple de Codi Compartit
Codi Comú (commonMain)
expect fun platformName(): String fun createApplicationScreenMessage(): String { return "Kotlin Rocks on ${platformName()}" }
Implementació per a Android (jvmMain)
Implementació per a iOS (iosMain)
Gestió de Dependències Específiques de la Plataforma
Pots afegir dependències específiques de la plataforma en els respectius blocs sourceSets
del build.gradle.kts
.
sourceSets { val commonMain by getting { dependencies { implementation(kotlin("stdlib-common")) } } val jvmMain by getting { dependencies { implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") } } val jsMain by getting { dependencies { implementation("org.jetbrains.kotlin:kotlin-stdlib-js") } } val iosMain by getting { dependencies { // Dependències específiques d'iOS } } }
Exercici Pràctic
Objectiu
Crea una funció compartida que retorni un missatge de benvinguda personalitzat per a cada plataforma.
Passos
- Defineix una funció
welcomeMessage
acommonMain
. - Implementa la funció per a Android i iOS.
Solució
commonMain
expect fun platformName(): String fun welcomeMessage(userName: String): String { return "Welcome $userName to ${platformName()}!" }
jvmMain
iosMain
Resum
En aquesta secció, hem explorat Kotlin Multiplatform, una eina poderosa per compartir codi entre diverses plataformes. Hem après a configurar un projecte Kotlin Multiplatform, a compartir codi comú i a gestionar dependències específiques de la plataforma. Amb aquests coneixements, pots començar a desenvolupar aplicacions multiplataforma eficients i coherents.
En el següent mòdul, ens endinsarem en les millors pràctiques i temes avançats per optimitzar el teu codi Kotlin i assegurar-te que segueixes les convencions de la comunitat.
Curs de Programació en Kotlin
Mòdul 1: Introducció a Kotlin
- Introducció a Kotlin
- Configuració de l'Entorn de Desenvolupament
- Conceptes Bàsics de Kotlin: Variables i Tipus de Dades
- Flux de Control: Condicionals i Bucles
- Funcions i Lambdas
Mòdul 2: Programació Orientada a Objectes en Kotlin
- Classes i Objectes
- Herència i Interfícies
- Modificadors de Visibilitat
- Classes de Dades i Classes Segellades
- Declaracions d'Objectes i Objectes Companys
Mòdul 3: Funcions Avançades de Kotlin
- Col·leccions i Genèrics
- Funcions d'Extensió
- Funcions d'Ordre Superior i Programació Funcional
- Coroutines i Programació Asíncrona
- DSL (Llenguatge Específic de Domini) en Kotlin
Mòdul 4: Kotlin per al Desenvolupament d'Android
- Introducció al Desenvolupament d'Android amb Kotlin
- Construcció d'Interfícies d'Usuari
- Gestió de l'Entrada de l'Usuari
- Xarxes i Emmagatzematge de Dades
- Proves i Depuració