Elige tu idioma
Curso de Kotlin Multiplatform
Más de 2 millones de estudiantes en todo el mundo

Curso de Kotlin Multiplatform

Dominá Kotlin Multiplatform y publicá apps listas para producción para Android y iOS desde una única base de código compartida. Este curso te lleva desde la configuración del entorno hasta la arquitectura, networking, almacenamiento e integración con UI nativa. Dejá de escribir la misma lógica dos veces y empezá a construir de forma más inteligente, rápida y mantenible.

Dedika para empresas

Lo que vas a aprender:

Vas a aprender a estructurar un proyecto Kotlin Multiplatform usando source sets, declaraciones expect/actual y configuraciones Gradle multimódulo. Vas a implementar networking compartido con Ktor, serialización de datos con kotlinx.serialization y persistencia local con SQLDelight. El curso cubre corrutinas, Kotlin Flow y la configuración de dispatchers específicos por plataforma para código asincrónico confiable en cada target. Vas a conectar todo usando Koin para inyección de dependencias y vincular ViewModels compartidos tanto con Jetpack Compose como con SwiftUI. Al final, vas a entregar un feature completo y testeado corriendo en dispositivos Android e iOS reales.

Cómo estudias de forma práctica Curso de Kotlin Multiplatform

Cómo practicas Curso de Kotlin Multiplatform

Para ti que eres empresa y quieres capacitar a tu equipo

En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.

Haz clic aquí

Contenido del curso

8 Capítulos • 37 ClasesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

Introducción a Kotlin Multiplatform

  • Clase 1 • Comprendiendo el Gradle Build System

    Explica cómo Gradle orquesta las compilaciones multiplataforma y gestiona las dependencias. Conecta el conocimiento de configuración de compilación con cada tarea de codificación posterior en el curso.

  • Clase 2 • Creando Tu Primer Proyecto KMP

    Recorre la creación del proyecto usando el asistente de proyecto KMP y examina la estructura generada. Los estudiantes se familiarizan con el diseño del módulo antes de escribir lógica compartida.

  • Clase 3 • Configurando el Entorno de Desarrollo

    Guía la instalación de las herramientas necesarias, incluyendo Android Studio, Xcode y el plugin de Kotlin Multiplatform. Asegura que cada estudiante tenga un espacio de trabajo funcional antes de escribir código.

  • Clase 4 • Qué Es Kotlin Multiplatform

    Define KMP, sus objetivos y cómo se diferencia de las alternativas multiplataforma. Proporciona contexto sobre por qué KMP se adopta en el desarrollo moderno mobile y desktop.

Capítulo 2Ver detalles

Elementos Esenciales del Lenguaje Kotlin para KMP

  • Clase 1 • Patrones Orientados a Objetos en Kotlin

    Examina clases, interfaces, herencia y data classes utilizadas extensivamente en módulos compartidos. Estos patrones forman la columna vertebral estructural de la lógica de negocio compartida.

  • Clase 2 • Extensiones y Delegación en Kotlin

    Enseña funciones de extensión, propiedades de extensión y patrones de delegación de propiedades. Estas herramientas reducen el boilerplate en módulos compartidos y mejoran el diseño de APIs multiplataforma.

  • Clase 3 • Delegados lazy y observable

    Introduce lambdas, funciones de orden superior y operaciones de colecciones, críticas para código compartido conciso. Los estudiantes aplican estas características para transformar y filtrar modelos de datos compartidos.

  • Clase 4 • Repaso de Sintaxis Básica de Kotlin

    Cubre variables, funciones, flujo de control y null safety como base para el código compartido. Asegura una fluidez uniforme en Kotlin antes de introducir patrones específicos multiplataforma.

  • Clase 5 • Genéricos y Sistema de Tipos

    Cubre genéricos, varianza y restricciones de tipo tal como se usan en APIs de librerías compartidas. Comprender el sistema de tipos previene errores en tiempo de ejecución al compartir código entre plataformas.

Capítulo 3Ver detalles

Arquitectura de Código Compartido y Source Sets

  • Clase 1 • Proyectos KMP Multimódulo

    Demuestra cómo dividir un proyecto KMP en múltiples módulos de Gradle para escalabilidad. Los estudiantes configuran dependencias entre módulos y comprenden las ventajas y desventajas de rendimiento de compilación.

  • Clase 2 • Jerarquía de Source Sets Explicada

    Detalla commonMain, source sets específicos de plataforma y source sets intermedios. Comprender la jerarquía es un prerrequisito para todas las decisiones de diseño de código compartido en el curso.

  • Clase 3 • Declaraciones Expect y Actual

    Explica el mecanismo expect/actual para declarar implementaciones específicas de plataforma desde código compartido. Los estudiantes implementan APIs de plataforma sin romper el contrato del módulo común.

  • Clase 4 • Diseñando el Módulo Compartido

    Cubre principios para decidir qué pertenece al código compartido vs. al específico de plataforma. Los estudiantes aplican pensamiento de separación de responsabilidades para producir arquitecturas multiplataforma mantenibles.

Capítulo 4Ver detalles

Corrutinas y Programación Asincrónica

  • Clase 1 • Dispatchers de Corrutinas en KMP

    Explica cómo los dispatchers difieren entre targets de Android, iOS y JVM en KMP. Los estudiantes configuran dispatchers apropiados para la plataforma usando patrones expect/actual.

  • Clase 2 • Exponiendo Corrutinas a iOS

    Aborda el desafío de consumir corrutinas de Kotlin desde Swift, que carece de soporte nativo para corrutinas. Los estudiantes usan wrappers y librerías para conectar código asincrónico a iOS.

  • Clase 3 • Fundamentos de Corrutinas

    Introduce funciones suspend, constructores de corrutinas y el ciclo de vida de la corrutina. Estos conceptos sustentan cada operación asincrónica en módulos KMP compartidos.

  • Clase 4 • Kotlin Flow para Streams Reactivos

    Cubre cold flows, state flows y shared flows para pipelines de datos reactivos en código compartido. Los estudiantes construyen capas de datos observables consumidas por las UI de Android e iOS.

  • Clase 5 • Manejo de Excepciones en Corrutinas

    Enseña manejo estructurado de excepciones con CoroutineExceptionHandler y supervisorScope. El manejo adecuado de errores previene fallas silenciosas en la lógica asincrónica compartida.

Capítulo 5Ver detalles

Redes y Serialización de Datos

  • Clase 1 • Parseo y Mapeo de Respuestas de API

    Cubre la deserialización de respuestas JSON en modelos de datos de Kotlin y su mapeo a objetos de dominio. Un mapeo de datos limpio mantiene las UI de plataforma desacopladas de los contratos de API crudos.

  • Clase 2 • Fundamentos de kotlinx.serialization

    Introduce la librería kotlinx.serialization para codificar y decodificar datos en código compartido. La serialización es la base para todo el manejo de datos de red y almacenamiento.

  • Clase 3 • Manejo de Errores de Red y Reintentos

    Implementa manejo robusto de errores, configuración de timeouts y lógica de reintentos en el cliente Ktor compartido. Una red resiliente mejora la confiabilidad de la app en conexiones móviles inestables.

  • Clase 4 • Pruebas de la Capa de Red

    Usa MockEngine de Ktor para escribir pruebas unitarias para la capa de red compartida sin llamadas HTTP reales. El código de red testeable reduce el riesgo de regresión durante cambios de API.

  • Clase 5 • Construyendo un Cliente HTTP con Ktor

    Configura el cliente HTTP multiplataforma Ktor con motores específicos de plataforma. Los estudiantes hacen requests GET y POST desde código compartido apuntando a Android e iOS.

Capítulo 6Ver detalles

Almacenamiento Local y Persistencia de Datos

  • Clase 1 • Introducción a SQLDelight

    Explica la verificación SQL en tiempo de compilación de SQLDelight y la generación de consultas con seguridad de tipos. Los estudiantes entienden cómo SQLDelight difiere de los enfoques ORM antes de escribir esquemas.

  • Clase 2 • Integrando SQLDelight con Corrutinas

    Envuelve consultas de SQLDelight en flows y funciones suspend para acceso reactivo a datos. La integración con corrutinas conecta la capa de base de datos al ViewModel o repositorio compartido.

  • Clase 3 • Multiplatform Settings para Almacenamiento Clave-Valor

    Introduce la librería multiplatform-settings para almacenar preferencias en código compartido. El almacenamiento clave-valor es la capa de persistencia más simple y un prerrequisito para el trabajo con bases de datos.

  • Clase 4 • Definiendo Esquemas y Consultas

    Cubre la escritura de archivos .sq para definir tablas, inserciones, actualizaciones y selects. Las APIs de Kotlin generadas a partir de archivos SQL forman la capa de acceso a datos utilizada por los repositorios compartidos.

  • Clase 5 • Migración de Datos y Versionado

    Enseña versionado de esquemas y scripts de migración para evolucionar la base de datos sin pérdida de datos. La estrategia de migración es esencial para apps en producción con datos de usuarios existentes.

Capítulo 7Ver detalles

Inyección de Dependencias en KMP

  • Clase 1 • Pruebas con Inyección de Dependencias

    Reemplaza dependencias reales con fakes y mocks en módulos de prueba de Koin. Las pruebas unitarias aisladas validan la lógica compartida sin requerir entornos de ejecución de plataforma.

  • Clase 2 • Conectando Repositorios y Casos de Uso

    Demuestra la inyección de repositorios, fuentes de datos y casos de uso a través de módulos Koin. Los estudiantes construyen un grafo de dependencias completo para la capa de lógica de negocio compartida.

  • Clase 3 • Principios de Inyección de Dependencias

    Repasa conceptos de DI incluyendo inversión de control, service locator e inyección por constructor. La base conceptual asegura que los estudiantes elijan el enfoque de DI correcto para KMP.

  • Clase 4 • Configurando Koin en KMP

    Configura módulos Koin en commonMain y los inicializa en cada plataforma. El runtime ligero de Koin lo convierte en la solución de DI más práctica para código KMP compartido.

Capítulo 8Ver detalles

Integración de Plataforma y Conectividad de UI

  • Clase 1 • Integrando Código Compartido en iOS

    Consume el framework compartido de Kotlin desde SwiftUI usando wrappers ObservableObject. Los estudiantes conectan state flows de Kotlin a los patrones Combine o async/await de Swift.

  • Clase 2 • Implementación de Features Específicas de Plataforma

    Usa expect/actual para implementar features de plataforma como acceso a la cámara, notificaciones y biometría. Los estudiantes extienden APIs compartidas con capacidades nativas sin romper el código común.

  • Clase 3 • Entrega de Features de Punta a Punta

    Ensambla capas de red, almacenamiento, DI y UI en una feature completa y funcional. Los estudiantes validan el corte vertical completo en dispositivos Android e iOS.

  • Clase 4 • Integrando Código Compartido en Android

    Conecta el módulo compartido a la UI de Jetpack Compose en Android usando integración estándar de ViewModel. Los estudiantes observan state flows compartidos y despachan eventos desde pantallas Compose.

  • Clase 5 • Patrón de ViewModel Compartido

    Implementa un ViewModel agnóstico de plataforma en código compartido usando corrutinas y state flows. Un ViewModel compartido reduce la lógica de presentación duplicada entre Android e iOS.

Certificación

Tu certificado válido de finalización

Este curso es para ti:

  • Desarrollador Android: quiere ampliar sus conocimientos de Kotlin para cubrir objetivos iOS.

  • Desarrollador iOS: tiene curiosidad por las capas de lógica compartida sin abandonar SwiftUI por completo.

  • Desarrollador full-stack: está creando funcionalidades móviles y cansado de duplicar la lógica de negocio.

  • Tech lead móvil: está evaluando la adopción de KMP y necesita bases arquitectónicas prácticas.

  • Desarrollador de apps freelance: busca dar servicio a ambas plataformas sin duplicar el esfuerzo de desarrollo.

  • Estudiante de ciencias de la computación: busca habilidades multiplataforma prácticas para destacar al buscar trabajo.

Lo que dicen nuestros estudiantes

Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... agradezco por todo lo que hacen, ya los he recomendado a otras personas...
Giulio Carlo
Giulio CarloEstudiante de Marketing Digital
Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.
Mariana Ferres
Mariana FerresEstudiante de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaEstudiante de Diseño de Uñas
La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompt

Principales capacitaciones

Preguntas Frecuentes

¿Quién es Dedika?

¿El certificado es válido en Chile?

¿Los cursos son gratuitos?

¿Cuál es la carga horaria del curso?

¿Cómo son los cursos?

¿Cómo funcionan los cursos?

¿Cuál es la duración de los cursos?

¿Cuál es el costo o precio de los cursos?

¿Qué es un curso EAD u online y cómo funciona?

Curso en PDF