¿Cómo desarrollar aplicaciones Android con Kotlin?

| Última modificación: 10 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding
Desarrollar aplicaciones Android con Kotlin es una de las mejores opciones si quieres empezar desde cero en este sector. Kotlin es un lenguaje de programación que corre sobre la máquina virtual de Java, aunque también puede compilarse a código fuente JavaScript. Hace unas semanas celebramos un webinar con José Antonio Blanes y Ángel Hernández, especialistas en movilidad en la empresa Deloitte, quienes nos han hablado de todo lo relacionado con la arquitectura de desarrollo Android con Kotlin .

Componentes de arquitectura

Los principales conceptos y relaciones que encontrarás en el desarrollo de aplicaciones Android con Kotlin son:
  • ViewModel: almacena y gestiona la lógica de vista de manera optimizada. Permite que los datos sobrevivan a cambios de configuración que el sistema realiza sobre las vistas. Se comunica con la vista mediante propiedades de tipo LiveData de forma que la refrescan en los cambios de estado.
  • Fragment: es la unidad mínima y recomendada de vista, aunque siempre debe estar alojado en una ​Activity​. Google promueve cada vez más aplicaciones ​SingleActivity​. Debe ser​ statless​, para almacenar el estado y toda la lógica tenemos el ViewModel. Se encarga de escuchar a las propiedades de LiveData que expone el ViewModel y reacciona en consecuencia según cambien. Su ciclo de vida está afectado por el de su “padre”, pero es independiente.
  • LiveData: es un contenedor de datos observable, optimizado para los ciclos de vida de los componentes de vista. Lanza eventos solo en los cambios de estado a sus observadores. Solo actualiza observadores de componentes con ciclo de vida activo. Es la tecnología recomendada para la interconexión del Fragment con su ViewModel. Aumento del número de operadores al estilo RX.
En cuanto a las relaciones entre estos elementos, el Fragment invoca al ViewModel, pide los datos que se necesitan y este último se encarga de conseguirlos. Como estamos suscritos al LiveData, nos va a llegar el evento. Por otro lado, se encuentra la librería de navegación. Navigation es un ​framework para navegar entre “destinos” dentro de una aplicación para Android nativo con Kotlin que proporciona una API coherente, independiente del tipo de destino. Fomenta la separación de responsabilidades entre la vista y el destino. Se organiza mediante gráficos donde se definen las vistas y sus navegaciones mediante la definición de acciones. Los posibles destinos que soporta la librería, por defecto, son: ​activity, fragment, dialog fragmen​t y gráficos. Aunque siempre es posible definir tu propio tipo de destino o sobrescribir uno existente usando su ​custom Navigator​.

Componentes de visualización de Aplicaciones Android con Kotlin

Respecto a los componentes de visualización enfocados en el desarrollo de aplicaciones Android con Kotlin, encontramos:
  • View Binding: es una función que genera una clase de vinculación para cada archivo de diseño XML presente en el módulo. Contiene todas las vistas que tiene un ID, incluyendo ​includes​. Además, tiene un ​getter root para acceder al contenedor raíz de la pantalla.
  • Jetpack Compose: es un kit de herramientas para crear IU nativas de Android con funciones declarativas. Se usan las funciones de Jetpack Compose para decir qué elementos visuales se desean añadir.
Si quieres ver cómo estos conceptos se aplican al código, aquí te dejamos el webinar sobre aplicaciones Android con Kotlin para que practiques todo lo aprendido.
Si quieres dominar Kotlin, desarrollar apps hechas con Kotlin, tanto para Android como para iOS y convertirte en un experto en desarrollo mobile, descubre nuestro Desarrollo de Apps Móviles Full Stack Bootcamp. ¡En muy pocos meses conseguirás convertirte en todo un profesional!
Jose Luis Bustos
Jose Luis Bustos

Lead Software Architect & Coordinador del Bootcamp en Desarrollo de Apps Móviles iOS & Android.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo de apps móviles ios & Android

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado