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

Curso de Kotlin Multiplatform

Domine Kotlin Multiplatform y entregue aplicaciones listas para producción en Android e iOS desde una única base de código compartida. Este curso lo lleva desde la configuración del entorno hasta la arquitectura, redes, almacenamiento e integración con UI nativa. Deje de escribir la misma lógica dos veces y comience a construir de manera más inteligente, rápida y fácil de mantener.

Dedika para empresas

Qué vas a aprender:

Usted aprenderá a estructurar un proyecto Kotlin Multiplatform usando conjuntos de fuentes, declaraciones expect/actual y configuraciones Gradle multimódulo. Implementará redes compartidas 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 despachadores específicos por plataforma para código asíncrono confiable en cada objetivo. Usted conectará todo usando Koin para inyección de dependencias y vinculará ViewModels compartidos tanto a Jetpack Compose como a SwiftUI. Al finalizar, usted entregará 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 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 LeccionesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

Introducción a Kotlin Multiplatform

  • Lección 1 • Comprendiendo el 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 codificación subsiguiente en el curso.

  • Lección 2 • Creando su primer proyecto KMP

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

  • Lección 3 • Configuración del entorno de desarrollo

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

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

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

Capítulo 2Ver detalles

Fundamentos del lenguaje Kotlin para KMP

  • Lección 1 • Patrones orientados a objetos en Kotlin

    Examina clases, interfaces, herencia y clases de datos 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 colección fundamentales para un código compartido conciso. Los estudiantes aplican estas características para transformar y filtrar modelos de datos compartidos.

  • Lección 4 • Revisión de la 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 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 conjuntos de origen

  • Lección 1 • Proyectos KMP multimódulo

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

  • Lección 2 • Explicación de la jerarquía de conjuntos de origen

    Detalla commonMain, los conjuntos de origen específicos de la plataforma y los conjuntos de origen 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 la plataforma desde el código compartido. Los estudiantes implementan API de plataforma sin romper el contrato del módulo común.

  • Lección 4 • Diseño del módulo compartido

    Cubre los principios para decidir qué pertenece al código compartido frente al código de plataforma. Los estudiantes aplican el pensamiento de separación de responsabilidades para producir arquitecturas multiplataforma mantenibles.

Capítulo 4Ver detalles

Corrutinas y programación asíncrona

  • Lección 1 • Despachadores de corrutinas en KMP

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

  • Lección 2 • Exposición de corrutinas a iOS

    Aborda el desafío de consumir corrutinas de Kotlin desde Swift, el cual carece de soporte nativo para corrutinas. Los estudiantes usan envoltorios 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 tuberías de datos reactivas en código compartido. Los estudiantes construyen capas de datos observables consumidas por las IU de Android e iOS.

  • Lección 5 • Manejo de excepciones en corrutinas

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

Capítulo 5Ver detalles

Redes y serialización de datos

  • Lección 1 • Análisis 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 IU de plataforma desacopladas de los contratos de 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 • Manejo de errores de red y reintentos

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

  • Lección 4 • Pruebas de la capa de red

    Utiliza MockEngine de Ktor para escribir pruebas unitarias para la capa de red compartida sin llamadas HTTP reales. Un código de red que se puede probar reduce el riesgo de regresión durante los cambios de API.

  • Lección 5 • Construcción de un cliente HTTP Ktor

    Configura el cliente HTTP multiplataforma Ktor con motores específicos de la plataforma. Los estudiantes realizan solicitudes GET y POST desde código compartido dirigido a Android e 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 y la generación de consultas con seguridad de tipos de SQLDelight. Los estudiantes comprenden cómo SQLDelight se diferencia de los enfoques ORM antes de escribir esquemas.

  • Lección 2 • Integración de 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 • Configuración 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 • Definición de 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 versionamiento

    Enseña el versionamiento de esquemas y los scripts de migración para evolucionar la base de datos sin pérdida de datos. La estrategia de migración es esencial para aplicaciones 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 falsificaciones 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 • Conexión de repositorios y casos de uso

    Demuestra cómo inyectar 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.

  • 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 los estudiantes elijan el enfoque de DI correcto para KMP.

  • Lección 4 • Configuración de 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 IU

  • Lección 1 • Integración de código compartido en iOS

    Consume el framework Kotlin compartido desde SwiftUI utilizando envoltorios ObservableObject. Los estudiantes conectan los flujos de estado de Kotlin a los patrones Combine o async/await de Swift.

  • Lección 2 • Implementación de funcionalidades específicas de la plataforma

    Utiliza expect/actual para implementar funcionalidades de plataforma como acceso a la cámara, notificaciones y biométricos. Los estudiantes extienden las 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 red, almacenamiento, DI e IU en una funcionalidad completa y funcional. Los estudiantes validan el corte vertical completo en dispositivos Android e iOS.

  • Lección 4 • Integración de código compartido en Android

    Conecta el módulo compartido a la IU de Jetpack Compose en Android utilizando la integración estándar de ViewModel. Los estudiantes observan flujos de estado compartidos y despachan eventos desde pantallas Compose.

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

    Implementa un ViewModel agnóstico a la plataforma en código compartido usando corrutinas y flujos de estado. 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 de Android: desea ampliar sus habilidades existentes en Kotlin para cubrir plataformas iOS.

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

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

  • Líder técnico de móviles: evaluando la adopción de KMP y necesitando bases prácticas de arquitectura.

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

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

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... 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, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompts

Principales capacitaciones

Preguntas frecuentes

¿Quién es Dedika?

¿El certificado es válido en Ecuador?

¿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