Saltar al contenido
Logotipo de Trainontech Trainontech

Lenguajes y Fundamentos de Programación · LNG-191

Kotlin para backend y multiplataforma

Corrutinas, DSL y proyectos compartidos entre servidor, Android y escritorio con Kotlin Multiplatform.

Próximamente Avanzado 8 módulos · 40 clases

Formato asíncrono Desarrollo Kotlin

Lo que aprenderás

  • Estructurar código asíncrono con corrutinas, ámbitos y concurrencia estructurada.
  • Emitir y consumir flujos de datos con Flow, StateFlow y operadores de transformación.
  • Construir un servicio HTTP con Ktor definiendo rutas, serialización y manejo de errores.
  • Diseñar un DSL con lambdas con receptor y funciones en línea para configurar componentes.
  • Organizar un proyecto multiplataforma con código común y implementaciones expect/actual.
  • Probar código con corrutinas usando despachadores de prueba y tiempo virtual.

Contenido del curso

8 módulos · 40 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Presentación y proyecto base 4 clases
  • Qué problemas aborda este curso
  • Estructura del proyecto Gradle multimódulo
  • Dependencias y versiones compartidas
  • Cómo se prueba cada bloque
Módulo 2 · Corrutinas 6 clases
  • suspend: qué significa realmente
  • Ámbitos y concurrencia estructurada
  • launch, async y await
  • Despachadores y cambio de contexto
  • Cancelación cooperativa y limpieza
  • Errores y CoroutineExceptionHandler
Módulo 3 · Flujos de datos 5 clases
  • Flow frío y su ciclo de vida
  • Operadores de transformación y combinación
  • StateFlow y SharedFlow
  • Contrapresión y almacenamiento intermedio
  • Convertir retrollamadas en flujos
Módulo 4 · Servicios con Ktor 5 clases
  • Servidor mínimo y definición de rutas
  • Serialización con kotlinx.serialization
  • Plugins, autenticación y registro
  • Manejo de errores y respuestas coherentes
  • Cliente Ktor y llamadas salientes
Módulo 5 · DSL y metaprogramación ligera 5 clases
  • Lambdas con receptor
  • Funciones en línea y parámetros de tipo reificados
  • Constructores con seguridad de tipos
  • Anotación DslMarker
  • Ejemplo: DSL de configuración de un servicio
Módulo 6 · Kotlin Multiplatform 5 clases
  • Objetivos y conjuntos de fuentes
  • Código común y dependencias multiplataforma
  • expect y actual con un ejemplo real
  • Compartir dominio con Android y escritorio
  • Límites de lo que conviene compartir
Módulo 7 · Pruebas y calidad 5 clases
  • Pruebas de corrutinas con tiempo virtual
  • Pruebas de flujos
  • Pruebas de un servicio Ktor
  • Pruebas comunes en un proyecto multiplataforma
  • Integración continua del proyecto
Módulo 8 · Caso práctico: servicio y cliente con dominio compartido 5 clases
  • Módulo de dominio común
  • API con Ktor y persistencia
  • Cliente de escritorio consumiendo el mismo dominio
  • Concurrencia y cancelación de extremo a extremo
  • Entrega: repositorio multiplataforma con pruebas

Requisitos

  • Kotlin a nivel intermedio: clases, nulabilidad, colecciones, lambdas y funciones de extensión.
  • JDK 17 o superior, Gradle e IntelliJ IDEA instalados.
  • Conocer los conceptos básicos de HTTP y de serialización JSON.

Descripción

Un equipo que ya escribe Kotlin se topa pronto con dos necesidades: dejar de bloquear hilos en cada llamada de red y evitar reescribir tres veces la misma lógica de negocio para el servidor, la aplicación Android y el escritorio. Ambas tienen respuesta en el lenguaje, pero exigen entender cómo funcionan las corrutinas y qué se puede compartir de verdad.

El curso empieza por concurrencia estructurada: ámbitos, despachadores, cancelación y flujos, con ejercicios donde el fallo se ve en la traza. Después construye un servicio con Ktor, diseña un DSL de configuración y monta un proyecto multiplataforma con un módulo común y objetivos distintos, resolviendo las dependencias específicas de cada plataforma con expect y actual.

Al terminar se puede diseñar la arquitectura de un producto Kotlin que comparta dominio entre plataformas y sostenga carga concurrente sin bloquear hilos. Es la base para trabajar en backend con Ktor o Spring, en aplicaciones Android con Compose o en productos que necesitan una única fuente de verdad para su lógica de negocio.

¿Para quién es este curso?

  • Desarrolladores Android que quieren llevar su lógica de negocio también al servidor.
  • Backend developers en Kotlin que sustituyen llamadas bloqueantes por corrutinas.
  • Equipos pequeños que mantienen varias aplicaciones y buscan una sola base de dominio.
Próximamente

Curso en hoja de ruta. Se prioriza según la demanda recogida y los proyectos en cartera.

Código
LNG-191
Nivel
Avanzado
Público
Desarrollo
Entorno
Kotlin

Este curso incluye

  • 40 clases en vídeo bajo demanda
  • Práctica en entornos web y simuladores, sin instalar nada
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

PY-106Lenguajes y Fundamentos de Programación

Concurrencia: multihilo y multiproceso

Paralelizar adquisición de datos y tareas de E/S sin introducir errores difíciles de reproducir.

Python

Avanzado 33 clases

PY-107Lenguajes y Fundamentos de Programación

Testing y TDD en Python

Pruebas unitarias, fixtures y desarrollo dirigido por pruebas en proyectos técnicos reales.

Python

Avanzado 34 clases

PY-131Lenguajes y Fundamentos de Programación

Webscraping con agentes de IA en local

Agentes que navegan y extraen datos sin depender de servicios en la nube.

PythonOllama

Avanzado 34 clases