Kotlin Multiplatform Mobile ahora es Alpha

Publicado el por luizdibella

Kotlin Multiplatform Mobile (KMM) es un SDK que le permite utilizar el mismo código de lógica empresarial tanto en aplicaciones iOS como Android. A partir de hoy, KMM ahora es Alpha, y puede comenzar a compartir la lógica empresarial de sus aplicaciones móviles con él desde ya. Incluye el nuevo complemento KMM Plugin para Android Studio, que le permite escribir, ejecutar, testear y depurar código compartido en el mismo IDE. Únase a grandes equipos como VMWare, Autodesk y Yandex que ya comparten código en sus aplicaciones móviles utilizando Kotlin. ¡Reutilizar código entre plataformas móviles nunca ha sido tan fácil!

archivo

¿Qué es Kotlin Multiplatform Mobile?

Kotlin Multiplatform Mobile (KMM) es un SDK para el desarrollo móvil multiplataforma suministrado por JetBrains. Utiliza las capacidades multiplataforma de Kotlin e incluye varias herramientas y funcionalidades diseñadas para que la experiencia de crear aplicaciones móviles multiplataforma sea todo lo agradable y eficiente posible de principio a fin.

A menudo, las versiones para Android e iOS de una aplicación tienen mucho en común, pero también pueden diferir en gran medida (especialmente en cuanto a interfaz de usuario): desde variaciones sutiles en el desplazamiento a lógicas de navegación totalmente distintas. Al mismo tiempo, la lógica empresarial de la aplicación, que incluye funcionalidades como gestión de datos, analíticas y autenticación, suele ser idéntica. Por eso resulta natural compartir algunas partes de una aplicación entre plataformas y mantener otras partes totalmente separadas.

Con KMM, puede disfrutar de esta flexibilidad y mantener las ventajas de la programación nativa. Utilice una base de código única para la lógica empresarial de las aplicaciones de iOS y Android, y escriba código específico de la plataforma solo cuando sea necesario, para implementar una interfaz nativa o al trabajar con API específicas de la plataforma.

archivo

KMM se integra a la perfección con su proyecto móvil. El código compartido, escrito en Kotlin, se compila a código de bytes de JVM con Kotlin/JVM y a binarios nativos con Kotlin/Native, de modo que puede utilizar sus módulos de lógica empresarial de KMM como cualquier otra biblioteca móvil normal.

Compartir código Kotlin entre plataformas móviles ya ha ahorrado mucho tiempo y esfuerzo a muchas empresas. Le contamos algunas historias inspiradoras:

  • Quizlet migró su lógica empresarial desde un enfoque compartido de JavaScript a KMM y mejoró drásticamente el rendimiento tanto de sus aplicaciones Android como iOS.
  • Fastwork introdujo KMM para las capas de dominio y datos de su aplicación, para compartir su lógica empresarial y servicio API entre plataformas móviles, y mejoró significativamente la productividad de su equipo.
  • Yandex.Disk comenzó experimentando con la integración de una pequeña funcionalidad y, cuando el experimento resultó ser exitoso, implementaron toda su lógica de sincronización de datos en KMM.

Los excelentes resultados logrados por estos y muchos otros equipos nos han inspirado en gran medida, y esperamos que sus historias le animen a comenzar a compartir código entre plataformas móviles con KMM.

Disfrute creando aplicaciones móviles con KMM

KMM todavía es una novedad en el mundo del desarrollo móvil, pero creemos que va a cambiar las reglas del juego. Por eso hemos asignado un equipo especial dentro de Kotlin que hará avanzar a KMM y ofrecerá la mejor experiencia de usuario para la creación de aplicaciones móviles multiplataforma con Kotlin.

Como primer paso hacia este objetivo, hoy nos complace presentarle la primera vista previa del complemento KMM para Android Studio junto con el nuevo portal de desarrolladores KMM.

¡Comencemos nuestro viaje con KMM!

Trabaje en un entorno que le resulte familiar

Con el nuevo complemento para KMM, puede escribir, ejecutar, testear y depurar código compartido en Android Studio, sin cambiar a otros IDE. Para instalarlo, seleccione Preferences | Plugins, busque el complemento Kotlin Multiplatform Mobile en Marketplace, y haga clic en el botón Install.

Configure una nueva aplicación en unos pocos clics

Con el asistente New Kotlin Multiplatform Mobile Project, puede crear un proyecto de aplicación móvil listo para su ejecución con una base de código compartida en solo unos clics. Para ver cómo funciona en ambas plataformas, solo tiene que seleccionar la configuración de ejecución que necesite y hacer clic en el botón Run.

archivo

El proyecto generado contendrá ejemplos de cómo conectar con API específicas de la plataforma y cobertura de pruebas básica. Puede utilizar este asistente para explorar las funcionalidades básicas de KMM o como herramienta de scaffolding para su nueva aplicación de producción KMM.

Siga este tutorial para instalar el complemento y crear su primera aplicación multiplataforma con el asistente.

Agregue KMM a su proyecto existente en un solo paso

También puede iniciar su viaje con KMM directamente desde su proyecto actual: el código Kotlin compartido puede integrarse fácilmente en su código existente como cualquier otra dependencia normal. El asistente New Kotlin Multiplatform Mobile Module le ayudará a añadir un nuevo módulo KMM a su proyecto, para que pueda utilizar el código que ya ha escrito en Kotlin y refactorizarlo para que sea compatible con iOS.

Eche un vistazo a esta guía para integrar KMM en proyectos existentes para aprender a diseñar la arquitectura de proyectos multiplataforma y organizar la migración a ella.

Trabaje con ambas plataformas desde un solo IDE

Ya no tiene que cambiar de IDE y mantener Xcode en ejecución para comprobar que su código funciona correctamente en ambas plataformas móviles. Con el nuevo complemento, obtendrá integración con su dispositivo iOS y simulador directamente en Android Studio. Esto le ofrece las funcionalidades siguientes:

  • Ejecutar y depurar la aplicación iOS en el simulador o en un dispositivo con la configuración de ejecución predefinida.
  • Ejecutar y depurar pruebas comunes y específicas de iOS en el simulador de iOS simplemente haciendo clic en el icono del medianil en un método o clase de prueba.

Tanto para la aplicación como para las pruebas, puede establecer puntos de interrupción y depurar su código en iOS.

Intégrese con el ecosistema de iOS sin gastos extra

Como se ha mencionado anteriormente, KMM se integra a la perfección con su proyecto móvil. Para Android, puede utilizar Kotlin en cada parte de su proyecto. Al mismo tiempo, KMM ofrece sólida integración con el proceso de desarrollo de iOS, gracias a la interoperabilidad de Kotlin/Native con Objective-C/Swift, la integración con el gestor de dependencias CocoaPods, y la capacidad de utilizar API específicas de la plataforma con el patrón esperado/real.

Disfrute trabajando con Kotlin desde código Swift con Kotlin/Native

Kotlin/Native ofrece interoperabilidad bidireccional con Objective-C/Swift. Los módulos de Kotlin pueden utilizarse por completo en Swift/Objective-C. Puede utilizar marcos de trabajo Objective-C y bibliotecas en código Kotlin, así como bibliotecas Swift si su API se ha exportado a Objective-C con @objc.

Más información acerca de la interoperabilidad de Kotlin/Native con Swift/Objective-C.

Gestione dependencias de iOS con facilidad

Kotlin/Native ofrece integración con el gestor de dependencias CocoaPods. Puede añadir dependencias en bibliotecas Pod almacenadas en el repositorio CocoaPods o localmente, y también puede utilizar proyectos multiplataforma con destinos nativos como dependencia de CocoaPods (Kotlin Pod). Gestione dependencias Pod directamente en Android Studio y disfrute de compatibilidad completa de codificación, incluyendo destacado y finalización.

Este es el aspecto habitual de la configuración de biblioteca de KMM:

Conecte la biblioteca a su proyecto de iOS como Pod de Kotlin añadiendo su nombre y ruta al Podfile:

Más información acerca de la integración con CocoaPods.

Aprenda a crear mejores aplicaciones móviles multiplataforma en el nuevo portal de desarrolladores

El nuevo portal de desarrolladores KMM está diseñado para que su trabajo sea más cómodo y productivo, desde su primera experiencia con KMM hasta su uso en la producción.

La sección de documentación es su recurso de confianza cuando trabaja con KMM. Encontrará contenido para todos los niveles de conocimientos, desde tutoriales para que comience a temas de desarrollo más avanzados. Contiene información útil sobre tareas comunes, como organizar capas de redes y almacenamiento de datos e incluso organizar el proceso de desarrollo en torno a KMM.

¿Busca nuevas ideas sobre las ventajas de utilizar KMM en su aplicación? Aprenda de la experiencia de primera mano de diversos equipos que ya utilizan KMM en sus productos en la sección de casos reales.

El poder de la comunidad

Estamos en deuda con las siguientes empresas y desarrolladores independientes que, con su tiempo, conocimiento y experiencia, han realizado una contribución esencial para esta versión: Kevin Galligan, Alec Strong, Arkadii Ivanov, Ben Asher, John O’Reilly, Louis CAD, Kris Wong, Aleksey Mikhailov y muchos otros ingenieros increíbles. ¡Gracias por notificar incidencias en YouTrack, participar en la investigación de productos y en las encuestas, compartir historias sobre su experiencia utilizando KMM y crear increíbles bibliotecas multiplataforma!

También queremos agradecer a los equipos que nos ayudaron a crear contenido para el nuevo portal de desarrolladores: Touchlab, IceRock y Kodein Koders. Su trabajo ayudará a miles de desarrolladores a profundizar en Kotlin Multiplatform Mobile y aprovechar todo su potencial.

¡Sois los mejores, chicos!

Pruebe ahora

Con todas estas geniales funcionalidades, nos complace anunciar que KMM ahora está en Alpha. Esto significa que el equipo de Kotlin está totalmente comprometido con mejorar esta tecnología y contribuir a su evolución. También es señal de que el producto se desarrolla rápidamente. Escucharemos sus comentarios y ofreceremos soluciones y mejoras lo antes posible. Ayúdenos a mejorar la estabilidad de KMM informando de cualquier incidencia que encuentre a través de nuestro sistema de seguimiento de incidencias.

Pasarse a Alpha significa que todo está listo para que comience a utilizar KMM para compartir código de lógica empresarial entre plataformas móviles. Puede crear un proyecto nuevo integrar fácilmente un módulo KMM en los existentes. En ambos casos, el trabajo puede realizarse con un coste mínimo y siempre puede volver a un desarrollo completamente nativo. La comunidad crece con rapidez, y usted puede influir en el desarrollo de todo el ecosistema participando en él.

Así que ¡ahora es un gran momento para comenzar a usar KMM!

Para disfrutar al máximo de la profundización en KMM y para hablar de todas las funcionalidades que desea explorar, únase a la comunidad de entusiastas de la multiplataforma en Slack (obtenga su invitación aquí) y suscríbase a la etiqueta “kotlin-multiplatform” en Stack Overflow.

Aunque hacemos todo lo que está en nuestra mano, no podemos garantizar una migración perfecta ahora mismo. Sin embargo, intentaremos evitar problemas de compatibilidad en la medida de lo posible utilizando marcadores de funcionalidades y ofreciendo guías de migración para nuevas versiones.

Envíenos sus comentarios

Esta versión solo es el principio del viaje, pero necesitamos su ayuda durante todo el camino. Estamos deseando recibir sus comentarios, tanto los positivos como los negativos. Inspire a otros compañeros compartiendo sus historias sobre cómo usa Kotlin Multiplatform Mobile, y no dude en compartir cualquier idea sobre cómo podemos mejorar KMM.

¡Adelante con Kotlin!