Webinar: Architecture Components en las Apps Android

Share Button

Con cada día que pasa las aplicaciones para celulares se vuelven cada vez más importantes, es por eso que necesitamos actualizarnos con las herramientas que nos ayudan al diseño de éstas.

Por eso, en este artículo vamos a dar una breve introducción a Architecture Components y lo acompañamos de un webinar de una hora indicando su importancia en las app móviles Android que se efectúan en el lenguaje Kotlin.

Architecture Components

Son una colección de bibliotecas que te ayudan a diseñar aplicaciones sólidas, que puedan someterse a prueba y admitan mantenimiento. Esto se presenta en respuesta a diversos problemas comunes que tenían los desarrolladores, tales como manejos de ciclo de vida en actividades, tener diversas formas de estructurar una aplicación y todo aquello que producía lentitud en aplicaciones de Android.

Los componentes se dividen en:

Room

Es una librería de mapeo de objetos SQL y realiza la administración de los datos locales persistidos en la aplicación.

Algunas de las ventajas de usar Room son:

  • Room mapea los registros de base de datos y los convierte a objetos como tus entidades y viceversa, te olvidas de los cursores.
  • Te permite validar tus consultas SQLite en tiempo de compilación.
  • Tiene un excelente soporte de observación para trabajar con LiveData y RxJava

Livecycle

Esta librería esta compuesta de lo siguiente:

  • Lifecycle: un objeto que define un ciclo de vida en Android
  • LifecycleOwner: Un objeto que tiene un ciclo de vida, por ejemplo el ciclo de vida de una actividad.
  • LifecycleObserver: Una interface para observar un LifecycleOwner. Si alguna vez has trabajado con services o listeners y has tenido que detenerlos y limpiarlos, ahora estos podrían usar este observer para hacerlo más limpio.

ViewModel

Son objetos que proveen datos, información que son usados por componentes de UI, y soportan cambios de configuración. Un ejemplo de ello es el cambio de rotación del dispositivo de portrait a landscape o cuando se realizan cambios de idioma.

Lo anterior evita que realicemos procesos encargados de gestionar estos cambios de los aplicativos y nos permite concentrarnos realmente en enviar datos a la UI y procesarlos.

También con esto logramos la separación de responsabilidades, logrando que cada capa se encargue de lo que realmente tiene que gestionar.

LiveData

Tiene características para gestionar los datos del aplicativo y tiene las siguientes características:

  • Es consciente del ciclo de vida
  • Contiene valores y estos pueden ser observados.
  • Notifica de cambios de los datos para la actualización oportuna de la UI
  • Se integra a Room para observar los datos de la base de datos.

 

Publicado por: DW Training SC