KTLN01ILTDesarrollo de Software

    Introducción a Kotlin para Desarrollares Java

    12 Presencial-Remoto

    Descripción

    Este curso está diseñado especialmente para desarrolladores con experiencia en Java que desean adoptar Kotlin como un lenguaje moderno, conciso y expresivo para aplicaciones JVM y Android.

    Objetivos

    Adquirir competencias sólidas en Kotlin mientras se aprenden sus ventajas estructurales y expresivas frente a Java:

    • Comprender la sintaxis moderna y las características clave que hacen de Kotlin un lenguaje potente y conciso.
    • Aplicar los conceptos de Kotlin en el desarrollo de aplicaciones Android modernas y eficientes.
    • Aprender a integrar Kotlin en proyectos Java existentes, aprovechando la interoperabilidad entre ambos lenguajes.
    • Desarrollar CodeZen, una aplicación Pomodoro funcional utilizando exclusivamente Kotlin

    Audiencia

    Curso dirigido a desarrolladores con experiencia en Java que buscan aprender Kotlin de manera práctica.

    Prerrequisitos

    Conocimientos y experiencia en Java.

    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.

    **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.

    Cursos relacionados

    Transformamos empresas a través de la tecnología, la seguridad y la formación especializada. Tu partner de confianza en la era digital.

    Servicios

    Empresa

    © 2026 Sinensia. Todos los derechos reservados.