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

Kotlin Multiplatform Mobile

Kotlin Multiplatform Mobile

Un repaso por los distintos enfoques disponibles a la hora de desarrollar aplicaciones móviles, y cómo Kotlin Multiplatform Mobile es una solución distinta a otras existentes y por qué debería importarnos. ¿Qué debemos saber los devs mobile nativos para aprender KMM?

Charla en el primer DevFest Panamá. Video disponible en https://youtu.be/y1FCRWsBsak?t=21064

Facundo Rodríguez Arceri

December 10, 2021
Tweet

More Decks by Facundo Rodríguez Arceri

Other Decks in Programming

Transcript

  1. Agenda • Enfoques de desarrollo • ¿Cómo elegir uno? •

    Kotlin Multiplatform Mobile • Herramientas • Demo de código • Librerías • ¿Dónde aprender?
  2. Enfoque Nativo • Mal llamado “nativo”. • El método más

    popular. • Es el que da como resultado mayor calidad, cuando los SDK son utilizados apropiadamente. • Actualizaciones, documentación y soporte siempre disponibles. • Soporte instantáneo para hacer uso de nuevos features de los sistemas operativos. • Desventaja: No se comparte código entre plataformas. Duplicidad. • Ejemplos: Android, iOS.
  3. Enfoque Híbrido • Combina técnicas de desarrollo nativo y programación

    web. • Uso de WebViews. • Javascript, HTML, CSS. • Se puede acceder al hardware del dispositivo (cámara, gps, etc). • Desventaja: rendimiento. • Ejemplos: Córdova, Ionic.
  4. Enfoque Cross-Platform • “Programa una vez, ejecuta en todos lados”.

    • Puede aplicar no sólo a apps mobile. • Son tendencia en el mercado. • Es posible abrir el proyecto en forma nativa e implementar algunas cosas usando directamente los SDK. • Menor costo de desarrollo. • Desventaja: El soporte para nuevos features tarda en llegar. • Ejemplos: React Native, Flutter, Xamarin, Unity3D.
  5. Enfoque Multiplatform • En enfoque es compartir la lógica de

    negocio y datos. • Las interfaces gráficas se desarrollan con alguno de los otros enfoques. • Ventaja: lo mejor de los dos mundos. Poca repetición de código, buen rendimiento de UI. • Otros equipos pueden participar del desarrollo mobile. • Desventaja: es el menos maduro de los enfoques. • Ej: Kotlin Multiplatform Mobile
  6. Depende de… • Necesidad de negocio. • Mercado al que

    se apunta. • Conocimiento previo del equipo. • Escasez de recursos. • Necesidad técnica real.
  7. KMM • Parte del proyecto Kotlin Multiplatform. • Actualmente soporta

    iOS y Kotlin. • Genera una librería que se importa en proyectos Android (Java/Kotlin) o iOS (Swift/Objective-C)