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

Curso de Kotlin Multiplatform

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

Dedika para empresas

Lo que vas a aprender:

Aprenderás a estructurar un proyecto Kotlin Multiplatform usando source sets, declaraciones expect/actual y configuraciones Gradle multimódulo. Implementarás 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 de plataforma para código asíncrono confiable en cada objetivo. Integrarás todo usando Koin para inyección de dependencias y conectarás ViewModels compartidos tanto a Jetpack Compose como a SwiftUI. Al finalizar, entregarás una funcionalidad completa y probada ejecutándose 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 tienes una 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 LeccionesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

Introducción a Kotlin Multiplatform

  • Lección 1 • Comprensión del Sistema de Compilación Gradle

    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 código subsecuente en el curso.

  • Lección 2 • Creando Tu Primer Proyecto KMP

    Guía la creación de proyectos usando el asistente de proyectos KMP y examina la estructura generada. Ganarás familiaridad con la disposición del módulo antes de escribir lógica compartida.

  • Lección 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 tengas un espacio de trabajo funcional antes de escribir código.

  • Lección 4 • ¿Qué Es Kotlin Multiplatform?

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

Capítulo 2Ver detalles

Fundamentos del Lenguaje Kotlin para KMP

  • Lección 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.

  • Lección 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 código repetitivo en módulos compartidos y mejoran el diseño de API multiplataforma.

  • Lección 3 • Características de Programación Funcional

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

  • Lección 4 • Revisión de Sintaxis Básica de Kotlin

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

  • Lección 5 • Genéricos y Sistema de Tipos

    Cubre genéricos, varianza y restricciones de tipo tal como se usan en las API de bibliotecas 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

  • Lección 1 • Proyectos KMP Multimódulo

    Demuestra cómo dividir un proyecto KMP en múltiples módulos Gradle para escalabilidad. Configurarás dependencias entre módulos y comprenderás las ventajas y desventajas de rendimiento de compilación.

  • Lección 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.

  • Lección 3 • Declaraciones Expect y Actual

    Explica el mecanismo expect/actual para declarar implementaciones específicas de plataforma desde código compartido. Implementarás API de plataforma sin romper el contrato del módulo común.

  • Lección 4 • Diseñando el Módulo Compartido

    Cubre principios para decidir qué pertenece al código compartido vs. al de plataforma. Aplicarás pensamiento de separación de responsabilidades para producir arquitecturas multiplataforma mantenibles.

Capítulo 4Ver detalles

Corrutinas y Programación Asíncrona

  • Lección 1 • Dispatchers de Corrutinas en KMP

    Explica cómo difieren los dispatchers entre los objetivos de Android, iOS y JVM en KMP. Configurarás dispatchers apropiados para la plataforma usando patrones expect/actual.

  • Lección 2 • Exponiendo Corrutinas a iOS

    Aborda el desafío de consumir corrutinas de Kotlin desde Swift, que carece de soporte nativo para corrutinas. Usarás wrappers y bibliotecas para conectar código asíncrono a iOS.

  • Lección 3 • Fundamentos de Corrutinas

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

  • Lección 4 • Kotlin Flow para Flujos Reactivos

    Cubre cold flows, state flows y shared flows para pipelines de datos reactivos en código compartido. Construirás capas de datos observables consumidas tanto por UIs de Android como de iOS.

  • Lección 5 • Manejo de Excepciones en Corrutinas

    Enseña manejo estructurado de excepciones con CoroutineExceptionHandler y supervisorScope. Un manejo de errores adecuado previene fallos silenciosos en lógica asíncrona compartida.

Capítulo 5Ver detalles

Redes y Serialización de Datos

  • Lección 1 • Parseo y Mapeo de Respuestas de API

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

  • Lección 2 • Fundamentos de kotlinx.serialization

    Introduce la biblioteca 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.

  • Lección 3 • Manejando Errores de Red y Reintentos

    Implementa manejo robusto de errores, configuración de timeouts y lógica de reintentos en el cliente Ktor compartido. Redes resilientes mejoran la confiabilidad de la app en conexiones móviles inestables.

  • Lección 4 • Probando 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.

  • Lección 5 • Construyendo un Cliente HTTP con Ktor

    Configura el cliente HTTP multiplataforma Ktor con motores específicos de plataforma. Harás solicitudes GET y POST desde código compartido apuntando a Android y iOS.

Capítulo 6Ver detalles

Almacenamiento Local y Persistencia de Datos

  • Lección 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. Comprenderás cómo SQLDelight difiere de los enfoques ORM antes de escribir esquemas.

  • Lección 2 • Integrando SQLDelight con Corrutinas

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

  • Lección 3 • Ajustes Multiplataforma para Almacenamiento Clave-Valor

    Introduce la biblioteca 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.

  • Lección 4 • Definiendo Esquemas y Consultas

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

  • Lección 5 • Migración de Datos y Versionado

    Enseña el 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 usuario existentes.

Capítulo 7Ver detalles

Inyección de Dependencias en KMP

  • Lección 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 tiempos de ejecución de plataforma.

  • Lección 2 • Conectando Repositorios y Casos de Uso

    Demuestra cómo inyectar repositorios, fuentes de datos y casos de uso a través de módulos Koin. Construirás un grafo de dependencias completo para la capa de lógica de negocio compartida.

  • Lección 3 • Principios de Inyección de Dependencias

    Revisa conceptos de DI incluyendo inversión de control, localizador de servicios e inyección por constructor. La base conceptual asegura que elijas el enfoque de DI correcto para KMP.

  • Lección 4 • Configurando Koin en KMP

    Configura módulos Koin en commonMain y los inicializa en cada plataforma. El tiempo de ejecución 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

  • Lección 1 • Integrando Código Compartido en iOS

    Consume el framework Kotlin compartido desde SwiftUI usando wrappers ObservableObject. Conectarás flujos de estado de Kotlin a patrones Combine o async/await de Swift.

  • Lección 2 • Implementación de Funcionalidades Específicas de Plataforma

    Usa expect/actual para implementar funcionalidades de plataforma como acceso a cámara, notificaciones y biométricos. Extenderás API compartidas con capacidades nativas sin romper el código común.

  • Lección 3 • Entrega de Funcionalidad de Extremo a Extremo

    Ensambla capas de redes, almacenamiento, DI y UI en una funcionalidad completa y funcional. Validarás la porción vertical completa en dispositivos Android y iOS.

  • Lección 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. Observarás flujos de estado compartidos y despacharás eventos desde pantallas Compose.

  • Lección 5 • Patrón de ViewModel Compartido

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

Certificación

Tu certificado válido de finalización

Este curso es para ti:

  • Desarrollador Android: quiere ampliar sus habilidades existentes en Kotlin para cubrir objetivos de iOS.

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

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

  • Líder técnico móvil: evalúa la adopción de KMP y necesita una base arquitectónica práctica.

  • Desarrollador de apps freelance: busca atender ambas plataformas sin duplicar el esfuerzo de desarrollo.

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

Lo que dicen nuestros alumnos

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... les 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, fácil 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 México?

¿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