Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kotlin Multiplatform Mobile en la Universidad

Kotlin Multiplatform Mobile en la Universidad

En esta charla comento mi experiencia como docente en la Universidad Nacional de La Matanza, dictando un taller de Kotlin Multiplatform Mobile como novedad para un plan de estudios tradicional. Breve overview de la arquitectura y los desafíos que enfrentó el plantel docente para enseñar esto a los alumnos.

Conferencia emitida en vivo a través de YouTube (última charla del día): https://www.youtube.com/watch?v=Fai4wikos8s

Facundo Rodríguez Arceri

November 16, 2021
Tweet

More Decks by Facundo Rodríguez Arceri

Other Decks in Technology

Transcript

  1. Sobre mí • Ingeniero en Computación. • Docente desde 2009.

    • Fui inspirado por mis docentes. • Desarrollador Android desde 2011. • Ingresé a UNLAM en 2017.
  2. La Universidad • Universidad Nacional de La Matanza (UNLAM) •

    Tecnicatura en Desarrollo de Aplicaciones Móviles. • Primer docente de materias específicas de la orientación mobile. • … todo por hacer.
  3. El camino de los estudiantes • Materias generales. • Introducción

    a la programación. • Programación Orientada a Objetos. • Android Nativo (en más de una materia). • Taller de Firebase. • … ¿y luego? Kotlin Multiplatform Mobile
  4. Kotlin Multiplatform Mobile • ¿Por qué? ◦ Buena experiencia con

    Kotlin. ◦ Al alcance de los docentes. ◦ Los alumnos no necesitan hardware específico. ◦ Tendencia en la industria. • ¿Cuándo? ◦ En el tramo final de la carrera. ◦ Se busca apuntalar el perfil del alumno. • ¿Cómo? ◦ Aprovechando conocimientos previos. ◦ Foco en la arquitectura de las soluciones.
  5. Desafíos de enseñar KMM • Desarrollar en KMM… sólo para

    Android. • Estabilidad del IDE y las librerías.
  6. ¿Qué significa multiplataforma? • El enfoque es compartir lógica de

    negocio y datos. • Las UI se desarrollan con alguno de los otros enfoques. • Resultado: Menos repetición de código, la mejor experiencia en UI. • Otros equipos pueden participar del desarrollo móvil. • Desventaja: es la menos madura de las técnicas de desarrollo.
  7. Temario de la materia • Introducción a enfoques en desarrollo

    mobile. • Kotlin Multiplatform Mobile. • El lenguaje de programación Kotlin. • Arquitectura de aplicaciones. • Integración con APIs REST: Ktor. • Trabajo asíncrono: Coroutines. • Bases de datos: SQLDelight. • Testing: kotlin.test. • Introducción a iOS Nativo. • Trabajo práctico integrador.
  8. Trabajo práctico integrador • Los alumnos reciben un proyecto Android

    desarrollado en forma nativa. • Migrar el código a un proyecto KMM. • Hacer código reutilizable. ◦ Retrofit -> Ktor. ◦ ViewModels de Android -> Objetos con lógica de negocio. ◦ Modelo y entidades -> Al módulo compartido. ◦ Testing con jUnit -> Tests con kotlin.test. https://github.com/fabio-negri/marvel-characters
  9. • Escribimos un breve artículo donde liberamos nuestra referencias y

    las de todas las materias: https://bit.ly/aprender-kotlin Bibliografía de la materia
  10. Conclusiones • Plan de estudios innovador. • Entusiasmo del alumnado.

    • Desarrollo del buen criterio de arquitectura. • Estudio en profundidad de un lenguaje. • Inclusión de tecnologías nuevas en una carrera corta.
  11. Trabajo futuro • Incluir Jetpack Compose en la materia cuando

    tenga una versión estable para iOS. • Incluir KMM en lugar de sólo KMP. • Incluir Kover, para medir code coverage en proyectos multiplataforma.