el androidLas bibliotecas de soporte se utilizan en casi todas las aplicaciones de Android para superar los problemas de compatibilidad entre diferentes dispositivos y versiones del sistema operativo Android. Estas bibliotecas también facilitan a los usuarios agregar varios tipos de widgets actualizados en la aplicación. Con el tiempo, estas bibliotecas se actualizan de acuerdo con las últimas versiones de Android. El problema comienza aquí, se supone que el nombre dado a estas bibliotecas de soporte indica qué versión de Android es compatible con ellas, por ejemplo, com.android.support:support-v7 y com.android.support:support-v13. Sin embargo, escribir el número de versión al final no cumple con su propósito porque a medida que las bibliotecas han ido evolucionando, la versión mínima del nivel de la API de Android aumentó a 14.
Después de darse cuenta de estos desafíos que enfrentan los desarrolladores, Google lanzó Android Jetpack en 2018. Las bibliotecas de soporte existentes, los componentes de la arquitectura de Android se unen con una adición de la biblioteca Android KTX como una sola entidad modular y se denomina Android Jetpack. Por lo tanto, Jetpack no es más que un conjunto de componentes de software, bibliotecas, herramientas y orientación para ayudar a desarrollar excelentes aplicaciones de Android.
Beneficios clave de Android Jetpack
- Forma una forma recomendada para la arquitectura de aplicaciones a través de sus componentes.
- Eliminar el código repetitivo
- Simplificar tarea compleja
- Proporcione compatibilidad con versiones anteriores, ya que las bibliotecas como la compatibilidad se desagregan de la API de Android y se vuelven a empaquetar en el paquete androidx.*
- Característica de productividad incorporada de la integración de Kotlin
Componentes de Android Jetpack
Los componentes de software de Android Jetpack se han dividido en 4 categorías:
- Componentes de cimentación
- Componentes de arquitectura
- Componentes de comportamiento
- Componentes de la interfaz de usuario
Todos estos componentes consisten en una amplia colección de bibliotecas que están construidas de manera que funcionen juntas y creen aplicaciones móviles sólidas. A continuación se da una breve explicación de cada componente.
Componentes de cimentación
Los componentes centrales del sistema de las aplicaciones de Android residen en el área de la Fundación de Jetpack. La extensión de Kotlin para el soporte de idiomas y las bibliotecas de prueba también están presentes en él. Además, las bibliotecas presentes en este componente proporcionan compatibilidad con versiones anteriores. La siguiente es la lista de todos los componentes de la base:
- AppCompat: todos los componentes de la biblioteca v7, como RecyclerView , GridLayout , CardView , etc., están incluidos en la biblioteca AppCompat. Además, contiene compatibilidad con la implementación de la interfaz de usuario de diseño de materiales que ayuda a degradar las versiones anteriores de Android.
- Android KTX: esta biblioteca incluye un conjunto de extensiones de Kotlin diseñadas para escribir código conciso y facilitar el proceso de desarrollo cuando los desarrolladores usan el lenguaje Kotlin para crear aplicaciones.
- Multidex: la capacidad de multidexing de Android juega un papel vital una vez que la cantidad de métodos en todas las clases en una aplicación supera la marca de 65,536. El sistema divide las clases y crea su archivo zip denominado archivo .dex . El componente Multidex proporciona soporte para archivos dex colectivos de una aplicación.
- Prueba: esta parte incluye el marco de pruebas de la interfaz de usuario de Espresso para la prueba de la interfaz de usuario en tiempo de ejecución y AndroidJUnitRunner con el fin de realizar pruebas unitarias en Android.
Componente de arquitectura
Este componente de Android Jetpack consta de ocho bibliotecas y herramientas que se encargan de construir aplicaciones robustas y mantenibles. Este componente también ayuda en la gestión adecuada de los datos utilizados por la aplicación, así como en el diseño de patrones de arquitectura de la aplicación . Los siguientes son los componentes de esta área:
- Vinculación de datos: proporcione la posibilidad de vincular los datos de la aplicación con el diseño XML. El enlace de datos es muy útil para actualizar dinámicamente los datos de las vistas.
- Ciclos de vida: esta biblioteca administra la actividad y el ciclo de vida de los fragmentos en la aplicación y también ayuda a escuchar los eventos del ciclo de vida de otros componentes.
- LiveData: notifica a View y actualiza automáticamente la interfaz de usuario cuando hay un cambio en la base de datos.
- Navegación: contiene todos los recursos necesarios para la navegación dentro de la aplicación. Con la ayuda de un visor de navegación incorporado en Android Studio , los desarrolladores pueden diseñar visualmente la navegación entre actividades y/o fragmentos.
- Paginación: Cargue los datos gradualmente en el RecyclerView de la aplicación desde la fuente de datos.
- Sala: esta biblioteca facilita el proceso de acceso a la base de datos SQLite en la aplicación de Android. The Room también realiza una verificación en tiempo de compilación del código SQL escrito para realizar consultas.
- ViewModel: facilita la gestión de datos relacionados con la interfaz de usuario teniendo en cuenta el ciclo de vida. Además, también reconstruye la actividad o el fragmento durante cualquier cambio de configuración, como la rotación del dispositivo.
- WorkManager: Resuelve el problema de escribir código diferente para administrar tareas en segundo plano en una versión diferente de Android.
Componentes de comportamiento
Esta área de android jetpack cubre aquellas bibliotecas que permiten a los usuarios interactuar con la aplicación a través de la interfaz de usuario. Este componente integra los servicios estándar de Android como notificación, descarga, permisos, uso compartido, asistente, etc. Los componentes de comportamiento son los siguientes:
- DownloadManager: ayuda a descargar archivos en segundo plano. Se autogestiona y resuelve problemas como pérdida de conexión, reintentos y reinicios del sistema mientras se realiza la descarga.
- Medios y reproducción: esta biblioteca incluye las clases MediaPlayer y AudioManager. Además, proporciona las API compatibles con versiones anteriores para la reproducción de medios.
- Permisos: responsable de proporcionar las API compatibles necesarias para verificar y solicitar permisos en la aplicación.
- Notificaciones: proporciona la API utilizada en la notificación y es de naturaleza compatible con versiones anteriores.
- Compartir: facilita compartir y recibir información/contenido con otras aplicaciones. Proporciona una acción de compartir adecuada para la barra de acción de una aplicación para compartir los datos.
- Slices: ayuda a crear elementos de interfaz de usuario que son de naturaleza flexible y permite compartir datos fuera de la aplicación.
Componentes de la interfaz de usuario
Incluye widgets, animaciones, paletas, etc para mejorar la experiencia del usuario. También proporciona fuentes de emoji actualizadas para usar en las aplicaciones. Las siguientes son las bibliotecas incluidas en este componente:
- Animación y transición: contiene API para configurar la transición entre pantallas y animaciones al mover widgets, así como para visualizar actualizaciones en el diseño.
- Auto: Incluye componentes para el desarrollo de apps para Android Auto. Estas aplicaciones se pueden probar en la pantalla del automóvil utilizando la unidad principal de escritorio (DHU).
- Emoji: EmojiCompat maneja todo tipo de fuentes y caracteres emoji. Esta biblioteca mantiene las aplicaciones actualizadas con los últimos emojis.
- Fragmento: es la clase de soporte de fragmentos que incluye la unidad de IU componible, como ListFragment, DialogFragment y PreferenceFragmentCompat.
- Diseño: contiene información sobre la declaración de diferentes tipos de diseños como LinearLayout, RelativeLayout, ContraintLayout.
- Paleta: esta biblioteca permite a los desarrolladores crear una paleta y seleccionar diferentes colores con la ayuda de la clase Palette.Builder. Además, ayuda a extraer los colores de los temas y las imágenes para que la interfaz de usuario sea compatible con las imágenes presentes en la pantalla.
- TV: Incluye componentes para el desarrollo de aplicaciones Android TV.
- Wear: contiene bibliotecas y clases para el desarrollo de aplicaciones para dispositivos portátiles Android como un reloj inteligente.
¿Qué hay de nuevo en Android Jetpack?
- WorkManager: una biblioteca nueva y poderosa que proporciona API modernas que administran trabajos en segundo plano que necesitan una ejecución garantizada sin escribir un código diferente para una versión diferente de Android.
- Navegación: marco para estructurar la interfaz de usuario en la aplicación y para ver y administrar las propiedades de navegación visualmente.
- Paginación: forma fácil y eficaz de cargar y presentar grandes conjuntos de datos de forma rápida y con desplazamiento infinito en RecyclerView. Los desarrolladores pueden definir explícitamente cómo cargar los contenidos.
- Slices: una característica muy nueva que permite mostrar la interfaz de usuario de la aplicación dentro del resultado de búsqueda del Asistente de Google.
- Android KTX (extensiones de Kotlin): transforma varias líneas de código Kotlin en una sola línea, lo que mejora la productividad de los desarrolladores que utilizan el lenguaje Kotlin.
Publicación traducida automáticamente
Artículo escrito por RISHU_MISHRA y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA