Volver al blog

Qué es Kotlin Multiplatform Mobile (KMM) y su relación con Android y iOS

En la actualidad, las tecnologías de desarrollo móvil presentan una tendencia por ofrecer las mismas posibilidades con el valor agregado de características que las destacan del resto, para los usuarios esto resulta en una apuesta interesante dada la variedad de opciones entre las cuales podemos elegir, no obstante, para la gran mayoría de aplicaciones que solemos usar y que son hechas por terceros, buscan ofrecer las mismas funciones en las plataformas dominantes en el mercado, concretamente en Android e iOS.

¿Kotlin para Android y Swift para iOS?

Es muy sabido entre las comunidades de desarrollo móvil que al momento de desarrollar una aplicación la primera decisión importante es determinar si será una aplicación nativa o hibrida, y en los casos donde la elección se inclina hacia un desarrollo nativo se tiene que contar con el conocimiento de dos tecnologías clave, por un lado hacer uso de Kotlin para el desarrollo de aplicaciones Android, y por el otro lado emplear Swift para desarrollar su homónimo en iOS.

 

Escenarios como el anteriormente descrito nos llevan a planificar desarrollar una solución bajo dos proyectos separados que en muchos casos contendrán las mismas reglas de negocio y lógica, que emplearán los mismos recursos en común y que al entrar en detalle notaremos que el mayor diferenciador lo encontramos en la forma en como construimos las interfaces en cada plataforma.

 

Si te suena familiar este caso, seguramente te habrás preguntado: ¿Existirá una forma de usar las mismas reglas para ambas plataformas que me reduzca el esfuerzo?, tenemos buenas noticias para ti.

Actualmente la compatibilidad con la programación multiplataforma es uno de los beneficios clave de Kotlin.

 

Kotlin reduce el tiempo dedicado a escribir y mantener el mismo código para diferentes plataformas mientras conserva la flexibilidad y los beneficios de la programación nativa, no siempre se tiene presente esta característica, pero es importante hacer mención de ello, ya que en esta apuesta tecnológica se encuentra una solución que promete mucho en relación al escenario comentado anteriormente.

 

¿Cómo opera Kotlin bajo este enfoque de desarrollo?, y ¿Cómo consigue crear código compatible con otras plataformas como iOS?

 

Kotlin hace uso de un Standard Development Kit (SDK) llamado Kotlin Multiplatform Mobile, cuya característica y propósito es mantener una base de código única para redes, almacenamiento de datos, análisis y demás lógica de sus aplicaciones para Android e iOS. Esto nos permite Implementar interfaces de usuario nativas y, aproveche otras características específicas de los dispositivos Android e iOS, valiéndonos de una construcción de las capas de negocio única que nos ahorra tiempo en labores de desarrollo duplicado, transporte de algoritmos a ambos lenguajes base de la plataforma y pruebas unitarias repetidas.

La apuesta de Kotlin toma como ventajas la propuesta de código para elementos de lógica que a menudo no están sincronizados mientras mantiene las ventajas de la programación nativa, incluido el factor de rendimiento de la aplicación y acceso completo a los SDK de Android e iOS. Para esta propuesta, no es necesario introducir nuevos lenguajes de programación en nuestras bases de código para que nuestras aplicaciones sea multiplataforma, la sintaxis de Kotlin sigue los mismos conceptos utilizados para el desarrollo de iOS y es fácil de aprender para los desarrolladores de iOS.

 

Una de las mejores partes sobre esta propuesta tecnológica es que todo ocurre dentro del propio Android Studio, no necesitamos hacer uso de otras herramientas externas, solo debemos integrar el Plugin de Kotlin Multiplatform Mobile desde el menú de preferencias de Android Studio, y podremos observar que al momento de crear un nuevo proyecto tendremos nuevas opciones relacionadas con Multiplatform.

Ahora, conozcamos algunos casos de uso multiplataforma de Kotlin:

 

1. Aplicaciones Android y iOS.

 

Compartir código entre plataformas móviles es uno de los principales casos de uso de Kotlin Multiplatform. Con Kotlin Multiplatform Mobile, puede crear aplicaciones móviles multiplataforma y compartir código común entre Android e iOS, como lógica comercial, conectividad y más.

 

2. Aplicaciones web.

 

Otro escenario en el que el código compartido puede traer beneficios es una aplicación conectada donde la lógica se puede reutilizar tanto en el servidor como en el lado del cliente que se ejecuta en el navegador. Esto también está cubierto por Kotlin Multiplatform.

 

3. Librerías multiplataforma.

 

Kotlin Multiplatform también es útil para los autores de librerías. Puede crear una biblioteca multiplataforma con código común y sus implementaciones específicas de plataforma para JVM, JS y plataformas nativas. Una vez publicada, una biblioteca multiplataforma se puede usar en otros proyectos multiplataforma como dependencia.

 

4. Código común para aplicaciones móviles y web.

 

Otro caso popular para usar Kotlin Multiplatform es compartir el mismo código en Android, iOS y aplicaciones web. Esto permite reducir la cantidad de lógica empresarial codificada por los desarrolladores frontend y ayuda a implementar productos de manera más eficiente, lo que reduce los esfuerzos de codificación y prueba.

Conclusión

 

Actualmente se encuentra en estado Beta, pero cada día nuevas tecnologías soportadas se integran y el ecosistema continua creciendo, cabe destacar que empresas como Philips, Netflix, Leroy Merlin, y VMWare han comenzado a integrar KMM dentro de sus actividades de desarrollo.

 

Síguenos en nuestros diferentes canales para conocer mas contenido de Desarrollo Móvil; tendencias y contenido de valor en el mundo TI.

¿Por qué usar cookies?

Las cookies son datos que se almacenan en el navegador del usuario con información sobre su comportamiento en Internet. Hay cookies de muchos tipos:

Cookies propias: que envía tu sitio web al navegador del usuario.

Cookies de terceros: que envía otra entidad a través de tu sitio web al navegador del usuario.

Cookies técnicas: que permiten la navegación.

Cookies de personalización: que permiten al navegador recordar unas preferencias del usuario (como el idioma, por ejemplo).

Cookies de análisis o medición: que permiten seguimiento y análisis (Google Analytics).

Cookies de publicidad: que almacenan información para crear un perfil de comportamiento del usuario y ofrecer anuncios.

Cookies de sesión: activas solamente durante la duración de la sesión.

Cookies persistentes: que tienen una caducidad concreta establecida por el responsable de la cookie.

Para más información acerca de las cookies, no está de más consultar la Guía sobre el uso de las cookies.

En qué consiste la nueva Ley de Cookies RGPD


La nueva Ley de Cookies RGPD obliga a los propietarios de los sitios web a ser transparente con el uso de las Cookies y a obtener el consentimiento del usuario. Es decir, ya no es suficiente con informar, sino que la persona que navegue por tu web deberá aceptar expresamente el uso de cookies (opt in) y ya no vale con cerrar el popup (opt out). Además, deberá poder decidir en cualquier momento qué cookies se almacenan en su navegador.

Por otro lado, si bien hay algunas cookies que quedan exceptuadas del cumplimiento de la ley (como las técnicas, por ejemplo), la guía recomienda siempre informar con un texto como “Este sitio web utiliza cookies que permiten el funcionamiento y la prestación de nuestros servicios”.

En Q&K Utilizamos cookies propias y de terceros para obtener datos estadísticos de la navegación de nuestros usuarios y mejorar nuestros servicios. Si acepta o continúa navegando, consideramos que acepta su uso. Puede obtener más información aquí (enlace a página de cookies)