Edición n.º 29 de Now in Android

Ilustración de Virginia Poltrack

Paquetes de apps, versiones estables de AndroidX, artículos y videos de Kotlin y un nuevo episodio del podcast de ADB

Te damos la bienvenida a Now in Android, una guía que actualizamos constantemente con las novedades más importantes sobre el desarrollo de Android.

MAD Skills: Paquetes de apps

La serie de MAD Skills continúa, con contenido técnico sobre el desarrollo moderno de Android. Wojtek Kaliciński y Ben Weiss publicaron algunos episodios en la segunda serie sobre paquetes de apps. Hasta ahora, vimos contenido acerca de la firma de apps de Play, cómo crear tu primer paquete de apps y Play Feature Delivery. Mira los videos y artículos que aparecen a continuación para obtener más información.

Episodio 1: todo lo que debes saber acerca de la firma de apps de Play

En una serie sobre paquetes de Android, es normal hablar de la firma de apps, porque Play genera APK para descargar en los dispositivos de los usuarios, y esos APK se deben firmar para su instalación. En este video, se detallan los pasos que se deben seguir para habilitar la firma de una app en Play Console, incluidas las opciones para subir tu propia clave o que Google genere una.

https://medium.com/media/3f19a98abf3bcbc37c7e5415233dd041/href

Asegúrate de consultar el artículo relacionado de Wojtek sobre las preguntas comunes acerca de la firma de apps de Play:

Respuestas a preguntas comunes sobre la firma de apps de Google Play

Episodio 2: cómo crear tu primer paquete de apps

En el video de Ben, se detallan los pasos que debes seguir para crear un paquete de apps, ya sea en Android Studio o en la línea de comandos, para luego subirlo a Play Console. Además, Ben muestra cómo usar herramientas en Play Console para buscar información sobre el paquete subido.

https://medium.com/media/3ad8573937e8f4fbf691aebcdb69c58a/href

Episodio 3: cómo configurar tu app para Play Feature Delivery

En este episodio, se muestra cómo usar Android Studio para dividir tu aplicación en módulos y cómo seleccionarlos para descargarlos al momento de la instalación (con condiciones opcionales para determinar si se instalarán o no) o a pedido. Ben también proporciona más detalles sobre la manera de usar las API para solicitar la instalación de módulos a pedido.

https://medium.com/media/85c514bc6447947b677725286183d737/href

También puedes consultar el artículo:

Cómo configurar tu app para Play Feature Delivery

Episodio 4: cómo realizar pruebas con bundletool y Play Console

En este último episodio, Wojtek explica cómo usar las herramientas disponibles para probar tu paquete y los APK resultantes, incluida bundletool para pruebas locales y Play Console para probar las cargas.

https://medium.com/media/a956696a6a54c9fdb5072a385500990d/href

En la descripción del video, hay varios artículos y documentos vinculados. Asegúrate de consultarlos para obtener más información sobre el tema.

No te pierdas el contenido final de App Bundles la próxima semana. Haremos una sesión de preguntas y respuestas en vivo el próximo jueves (en ese momento, aparecerá un enlace a la transmisión en vivo por YouTube en la lista de reproducción, pero antes abriremos una publicación de preguntas por Twitter).

Si deseas obtener contenido de forma constante, recuerda consultar la lista de reproducción de MAD Skills en YouTube, los artículos en Medium o esta página de destino útil en la que se muestra todo. La siguiente serie comenzará la próxima semana. ¡No te la pierdas!

AndroidX

Entre la gran variedad de versiones alfa, beta y RC de las bibliotecas de AndroidX, recientemente se lanzaron algunas importantes versiones estables sobre las que me gustaría contarte.

  • ConstraintLayout 2.0.4: el cambio más significativo fue en la versión 2.0.2 (también reciente), que incluyó optimizaciones importantes sobre el rendimiento. Pero te recomiendo obtener la última versión con las correcciones de errores adicionales desde entonces.
    Las mejoras en el rendimiento provienen de ConstraintLayout, que ahora es mucho más inteligente y sabe cuándo puede omitir la ejecución del solucionador y evitar varias pasadas de este y de mediciones. Esto permite muchos beneficios en el rendimiento en varias situaciones habituales. Por ejemplo, las jerarquías que tienen muchísimas vistas GONE y vistas que usan restricciones en las coincidencias (layout_[height|width]=”0dp”) pueden ser mucho más rápidas para diseñar.
  • Startup 1.0.0: La biblioteca de App Startup se desarrolló para que las apps puedan inicializar componentes durante el inicio de una manera más fácil y óptima que la que podrían aplicar de otra forma. Resulta que inicializar un único objeto ContentProvider lleva una cantidad significativa de tiempo y muchas apps inicializan más de uno de ellos; a menudo muchos más. Startup permite que las apps inicialicen componentes sin crear varios objetos ContentProvider (adelanto: la biblioteca crea y usa un solo ContentProvider bajo la superficie para todas las solicitudes), lo que permite que tu app omita la mayor parte de esa sobrecarga.
  • Tracing 1.0.0: esta biblioteca escribe eventos de seguimiento en el búfer de seguimiento del sistema. Si instrumentas tu app con eventos de seguimiento, podrás proporcionar mejor información sobre el rendimiento que la que puedes ver con la herramienta Perfetto (o Systrace en dispositivos más antiguos). Consulta la guía sobre seguimiento de sistemas para obtener más información al respecto.
    Esta biblioteca “nueva” no ofrece una nueva funcionalidad por sí misma, pero la proporciona desde la clase TraceCompat existente de manera muy específica para que no tengas que usar todo androidx.core para esta funcionalidad limitada. También hay una función de extensión de KTX útil que facilita la acción de agregar seguimiento a un determinado bloque de código.

Artículos y videos: Kotlin, Kotlin, Kotlin y más Kotlin

No siempre hablamos sobre Kotlin, pero cuando lo hacemos, hablamos mucho del tema. Recientemente, se publicaron varios artículos y videos acerca de Kotlin:

Datos con clase

Florina Muntenescu agregó otro episodio a la serie en curso de Vocabulario de Kotlin, esta vez sobre las clases de datos de Kotlin. Las clases de datos te permiten crear fácilmente una estructura para contener datos con menos código estándar y depender de Kotlin para que genere automáticamente funciones equals() y hashCode() adecuadas. Además, puedes acceder a la desestructuración de las propiedades de la clase desde un principio, junto con copy(). Como suele hacer con los episodios de Vocabulario de Kotlin, Florina analiza el código de bytes descompilado de las clases de datos para explicar el funcionamiento de todo en profundidad.

https://medium.com/media/f74713eb99917e520f6106bb1fd7b228/href

También puedes consultar el artículo:

Clases de datos: Cómo contener datos con clase

Delegados integrados

Hablando del Vocabulario de Kotlin, Murat Yener publicó una secuela de su anterior artículo sobre la función de delegados de Kotlin. Esta vez, analiza los delegados proporcionados en la Biblioteca estándar de Kotlin: lazy, observable, vetoable y notNull.

Delegados integrados

¿Debo aprender Kotlin para Android? (y otras preguntas frecuentes)

La respuesta es:»sí».

No obstante, para una explicación más completa, Florina publicó este artículo en el que responde algunas de las preguntas principales que recibimos por parte de desarrolladores sobre si invertir para aprender y desarrollar Kotlin, e incluye enlaces a recursos de aprendizaje importantes.

¿Debo aprender Kotlin para Android? (y otras preguntas frecuentes)

Menos fallas y más estabilidad con Kotlin

En este artículo, Florina analiza algunos de los motivos por los que las apps de Kotlin son menos propensas a generar errores que las apps que no se escriben en Kotlin. Ella señala algunas apps y casos de uso específicos que respaldan esta afirmación, pero también analiza algunos de los motivos por los que este lenguaje permite escribir un código más sólido, incluyendo la nulabilidad, hashCode() != equals() y mucho más. Consulta la publicación para conocer todos los detalles.

Menos fallas y más estabilidad con Kotlin

Episodios de podcast

Desde la última edición de Now in Android, se publicó otro episodio de Android Developers Backstage. Accede al vínculo más abajo o escúchalo a través de tu cliente de podcast favorito:

ADB 152: Carga de imágenes con Coil

Romain Guy, Tor Norbye y yo hablamos con Colin White de Instacart sobre su biblioteca de carga de imágenes de código abierto, Coil. Conversamos sobre la carga de imágenes, el rendimiento, el código abierto y el uso de Kotlin y corrutinas para crear esta biblioteca basada en Kotlin.

Episodio 151: Carga de imágenes con Coil

Ahora sí

Eso fue todo por hoy. Aprende sobre App Bundles, descarga las últimas versiones de AndroidX, lee los últimos artículos sobre Kotlin y escucha el episodio más reciente del podcast de ADB. Te esperamos pronto para ofrecerte más novedades del universo de desarrolladores de Android.


Source: Google Dev

Deja un comentario