Curso de Introducción a Kotlin para Desarrollares Java
Transición efectiva de Java a Kotlin: Curso práctico para desarrolladores
Domina Kotlin a través del desarrollo de CodeZen, una aplicación Pomodoro (Reloj de productividad) con sonidos para fomentar la concentración y el trabajo productivo. Este curso está diseñado para desarrolladores con experiencia en Java que buscan aprender Kotlin de manera práctica, aprovechando su conocimiento previo para desarrollar aplicaciones modernas y eficientes.
Estructura del Curso
Duración
12 horas distribuidas en 4 sesiones de 3 horas cada una.
Enfoque práctico
Desarrollo progresivo de CodeZen, una aplicación Pomodoro real con componentes reutilizables.
Objetivo
Adquirir competencias sólidas en Kotlin mientras se aprenden sus ventajas estructurales y expresivas frente a Java.
Objetivos
Sintaxis y características de Kotlin
Comprenderás la sintaxis moderna y las características clave que hacen de Kotlin un lenguaje potente y conciso.
Desarrollo Android con Kotlin
Aplicarás los conceptos de Kotlin en el desarrollo de aplicaciones Android modernas y eficientes.
Integración con Java
Aprenderás a integrar Kotlin en proyectos Java existentes, aprovechando la interoperabilidad entre ambos lenguajes.
Aplicación completa en Kotlin
Desarrollarás CodeZen, una aplicación Pomodoro funcional utilizando exclusivamente Kotlin.
Temario
Módulo 1: Fundamentos de Kotlin
Tema técnico: Variables, tipos, inferencia, val vs var, estructuras de control
Hito del proyecto: hito-01-kotlin-basics
Enfoque práctico y beneficios pedagógicos: Se introduce la base del proyecto: definición del temporizador, estado de la sesión, selección de sonidos. El alumno ve cómo Kotlin reduce el código repetitivo respecto a Java.
Módulo 2: Funciones y Clases
Tema técnico: Funciones top-level, parámetros con valores por defecto, clases, init, propiedades
Hito del proyecto: hito-02-funciones-y-clases
Enfoque práctico y beneficios pedagógicos: Se encapsula el temporizador y la lógica del sonido en clases. Se aprende a modularizar código usando funciones puras. Permite al alumno adoptar un enfoque limpio desde el inicio.
Módulo 3: Lambdas y Funciones Anónimas
Tema técnico: Uso en callbacks, colecciones, funciones como parámetros
Hito del proyecto: hito-03-lambdas
Enfoque práctico y beneficios pedagógicos: Se implementan acciones al finalizar sesiones Pomodoro mediante callbacks. Se introduce la expresividad de Kotlin en programación funcional. Permite al alumno desacoplar eventos y lógica.
Módulo 4: El Sistema de Tipos en Kotlin
Tema técnico: Null safety, Any, Unit, Nothing, when exhaustivo
Hito del proyecto: hito-04-null-safety-y-estados
Enfoque práctico y beneficios pedagógicos: Se refactoriza el control de estado del temporizador con null safety y estructuras when. El alumno aprende a prevenir errores comunes de Java, como NullPointerException.
Módulo 5: Operadores, Convenciones y Funciones de Orden Superior
Tema técnico: Sobrecarga de +, equals, toString, let, apply, run, inline, convenciones de Kotlin
Hito del proyecto: hito-05-funciones-y-operadores
Enfoque práctico y beneficios pedagógicos: Se sobrecarga + para combinar sesiones y toString para mostrar el resumen. Expresividad y fluidez idiomática.
Módulo 6: Generics
Tema técnico: Tipos genéricos, clases y funciones parametrizadas
Hito del proyecto: hito-06-genericos
Enfoque práctico y beneficios pedagógicos: Se implementa un repositorio de objetos genérico (por ejemplo, para sonidos o notificaciones). El alumno aprende a escribir código reusable, claro y seguro.
Módulo 7: Anotaciones y Reflexión
Tema técnico: Uso de @Retention, @Target, introspección con KClass y ::class
Hito del proyecto: hito-07-anotaciones-y-reflexion
Enfoque práctico y beneficios pedagógicos: Se marcan ciertos sonidos como "recomendados" y se listan dinámicamente. El alumno ve cómo Kotlin permite metaprogramación ligera de forma segura.
Módulo 8: Colecciones y Secuencias
Tema técnico: map, filter, groupBy, Sequence
Hito del proyecto: hito-08-colecciones
Enfoque práctico y beneficios pedagógicos: Se genera un historial de sesiones productivas, agrupado por día u hora. Se evidencia el poder expresivo de Kotlin frente a los streams de Java.
Módulo 9: Tipos Básicos y UI Completa
Tema técnico: Manipulación de texto, arrays, interpolación, expresiones regulares
Hito del proyecto: hito-09-ui-completa
Enfoque práctico y beneficios pedagógicos: Se presenta la interfaz visual completa conectada a la lógica existente. El alumno ve cómo su trabajo funcional se integra en un producto final de aspecto profesional.
Módulo 10: Corrutinas en Kotlin
Tema técnico: suspend, launch, async, delay, CoroutineScope
Hito de proyecto: hito-10-corrutinas
Enfoque práctico y beneficios pedagógicos: Concurrencia moderna sin Future ni callbacks. Ejecutar el ciclo Pomodoro de forma no bloqueante.
Módulo 11: Testing en Kotlin
Tema técnico: JUnit5 (@Test, @BeforeEach), aserciones, testeo de lógica
Hito del proyecto: hito-11-tests
Enfoque práctico y beneficios pedagógicos: Validación de componentes del temporizador y lógica de negocio.
Opcional (según ritmo a decidir por el instructor): Introducción a Kotest o MockK.
Módulo 12: Cierre del Proyecto y Revisión Final
  • Tema técnico: Integración de todos los módulos, validación funcional, revisión de código idiomático
  • Hito: hito-12-integracion-final
  • Beneficio: El alumno ve cómo se ensamblan todas las piezas en una app coherente y moderna.
Enfoque Práctico y Beneficios Pedagógicos
Progresión por hitos
Cada tema se vincula a un hito funcional, permitiendo visualizar el avance concreto.
Aprendizaje contextual
Conceptos aplicados directamente a funcionalidades reales.
Evaluación funcional
Validación de cada hito mediante pruebas de funcionamiento real.
UI profesional
Culminación con una interfaz integrada lista para producción.
Proyecto Final: CodeZen
12
Módulos
Componentes independientes y reutilizables.
4
Sesiones
Jornadas prácticas de aprendizaje intensivo.
1
Aplicación completa
Temporizador Pomodoro funcional para gestión del tiempo
Al finalizar el curso, tendrás un proyecto open source completamente funcional para tu uso personal, extensible con funcionalidades como sincronización en la nube, estadísticas e integración con IDEs.
¿Por Qué Elegir Este Curso?
Este curso ofrece una transición fluida desde Java a Kotlin mediante un enfoque práctico y modular. Aprenderás desarrollando una aplicación real que podrás seguir mejorando tras finalizar el curso.
Anexo: propuesta en cuatro días (3h/día)
🗓️ Día 1 (3h) – Fundamentos y Estructura del Código
🗓️ Día 2 (3h) – Idiomatic Kotlin y Generics
🗓️ Día 3 (3h) – UI, Concurrencia y Testing
🗓️ Día 4 (3h) – Integración Final, Repaso y Proyecto
Los tiempos son orientativos. El instructor podrá adaptar el ritmo y los contenidos según las necesidades del grupo. El Día 4 podrá usarse para repaso o introducción a herramientas adicionales (Ktor, Kotest, etc.), a criterio del instructor.