Google I/O 2019: Cómo lograr que los desarrolladores creen las mejores experiencias en Android y Play


Publicado por Chet Haase
Estamos muy contentos de volver al patio de casa para la Google I/O, que permite conectarnos con desarrolladores de Android de todo el mundo. Los 7200 asistentes en Shoreline Amphitheatre, los millones de espectadores de la transmisión en vivo y los miles de desarrolladores en los eventos locales extendidos de I/O en más de 80 países se enteraron sobre nuestros esfuerzos para simplificar la vida de los desarrolladores. Hoy, en Google I/O, hablamos sobre dos temas importantes: cómo ayudar a nuestros desarrolladores a aumentar la productividad, y cómo fortalecer la privacidad y seguridad de los usuarios en la plataforma. Veamos en detalle las noticias más importantes de I/O para los desarrolladores:

Productividad de los desarrolladores

Este año, nos concentramos en una sola idea: que los desarrolladores ahorren tiempo todos los días. Para lograrlo, estamos mejorando todas las herramientas que usan.

Kotlin

Hace dos años, anunciamos Kotlin como lenguaje compatible con Android. Nuestros desarrolladores principales ya estaban encantados con él y es increíble cuánto creció desde entonces. Más del 50% de los desarrolladores profesionales de Android usan Kotlin, que ya lleva dos años como uno de los lenguajes preferidos en Stack Overflow y tiene cada vez más colaboradores en GitHub.
Hoy queremos anunciar otro paso importante: se usará Kotlin cada vez más para desarrollar en Android. Muchas API nuevas de Jetpack se publicarán primero en Kotlin. Al comenzar un proyecto nuevo, deberá escribirse en Kotlin, lo que suele traducirse en mucho menos código para escribir, probar y mantener. Además, nos asociamos con Jetbrains y la Fundación Kotlin para seguir invirtiendo en herramientas, documentación, capacitación y eventos a fin de facilitar el aprendizaje y uso de Kotlin. Esto incluye Kotlin/Everywhere, una nueva serie de eventos para obtener más información sobre este lenguaje, cursos de Udacity nuevos y mucho más.

Android Jetpack

El año pasado, anunciamos Android Jetpack, la API para acelerar el desarrollo de Android y facilitar la escritura de apps de alta calidad con menos código. Más del 80% de nuestras 1000 apps principales ya usan Jetpack, y seguimos simplificando cada vez más los desafíos cotidianos que afrontan los desarrolladores. Hoy lanzaremos seis nuevas bibliotecas de Jetpack (en versión Alfa) y pasaremos cinco a calidad Beta. Estos son tres datos destacados:

  • CameraX: nos dijeron que era difícil trabajar de manera eficiente en todos los dispositivos Android. CameraX es una nueva biblioteca de Jetpack de código abierto que tiene por objetivo facilitar y acelerar el desarrollo de la cámara. Ofrece una experiencia uniforme con la cámara en todos los dispositivos para que no haga falta mantener configuraciones específicas en cada uno. En los dispositivos de determinados fabricantes, se incluye asistencia para funciones de hardware y software de vanguardia, como el zoom óptico, el bokeh, HDR y el modo nocturno. Funciona con casi el 90% de los dispositivos (y es compatible con los anteriores hasta la versión «L»). También resulta sencillo realizar la migración desde API de la cámara heredadas y funciona sin inconvenientes con las API de camera2. El 70% del uso de la cámara en Android proviene de apps instaladas (no de la app de cámara del dispositivo), así que nos alegra mucho poder facilitar el desarrollo de esta función.

  • Componentes de la arquitectura: hicimos una serie de incorporaciones y mejoras en función de los comentarios que recibimos. Nos dijeron que la simultaneidad no era sencilla en Android. Por eso, incorporamos LiveData y los ciclos de vida con corrutinas para brindar asistencia en las operaciones asíncronas únicas más comunes. Gracias al módulo ViewModel con SavedState, es posible eliminar código estándar y aprovechar las ventajas de usar ViewModel y SavedState con API sencillas para guardar y recuperar datos directamente desde ViewModel. Además, hace apenas unos meses, anunciamos versiones estables de WorkManager (procesamiento en segundo plano) y Navigation (navegación entre pantallas de las apps).
  • Jetpack Compose: muchos nos pidieron un kit de herramientas de desarrollo de IU para Android que fuera moderno y reactivo, que fuera compatible con Kotlin y que se integrara sin problemas en la plataforma y el código existente. Hoy, compartiremos los avances que el equipo hizo con Jetpack Compose. Jetpack Compose está diseñado para simplificar el desarrollo de IU combinando un modelo de programación reactivo con la sencillez y precisión de Kotlin. Es compatible con el kit de herramientas existente para el desarrollo de IU, de modo que sea posible combinar y agrupar vistas con acceso directo a todas las API de Android y Jetpack. Además, es totalmente declarativo en la definición de los componentes de la IU y está diseñado desde el comienzo teniendo en cuenta el tema material, las animaciones y las herramientas. A partir de hoy, desarrollaremos este kit de forma abierta e incluiremos todo el código en AOSP.

Android Studio

Hoy lanzamos la versión Beta de Android Studio 3.5. Durante meses, el equipo se dedicó exclusivamente a refinar y optimizar los flujos de trabajo diarios del desarrollo con Project Marble. Android Studio 3.5 incluye mejoras en la administración de la memoria de IDE para proyectos grandes, menos latencia de escritura, mejoras de Lint, optimizaciones de uso de la CPU, mejoras en el editor de diseño, mejoras en el emulador y cambios de compilación. Además, se rescribió completamente Instant Run, que ahora se llama Apply Changes y que acelera con seguridad la capacidad de ver los cambios de código de un dispositivo. Por último, se corrigieron más de 400 errores de prioridad alta.

Aprendizaje automático en Android

En Android Q, mejoramos sustancialmente la API Neural Networks (NNAPI) de Android. Primero, aumentamos la cantidad de operadores admitidos de 38 a más de 90. Ahora, es posible acelerar la gran mayoría de los modelos usando la NNAPI sin modificarla. También presentamos una API de introspección para usuarios avanzados que permite controlar completamente los componentes de hardware encargados de la aceleración (por ejemplo, DSP y NPU). Además, trabajamos de cerca con proveedores de hardware para mejorar sustancialmente el rendimiento en términos de latencia y consumo de energía. Trabajar con MediaTek nos permitió acelerar nueve veces la API de detección de rostro de ML Kit en el Helio P90. Trabajar con Qualcomm nos permitió acelerar el OCR de Lens de Google en el motor de IA del Snapdragon 855. Con esto, triplicamos la velocidad y redujimos 3.7 veces el consumo de energía.

Funciones dinámicas y actualizaciones en la app

El año pasado, presentamos Android App Bundle para ayudar a reducir el tamaño de las apps y aumentar las instalaciones. Desde entonces, se produjeron más de 80,000 conjuntos de apps con un promedio del 20% en la reducción del tamaño. Hoy haremos una serie de anuncios para ayudar a reducir el tamaño y entregar todavía más rápido las actualizaciones a los usuarios. Nos alegra comunicar que los módulos de funciones dinámicas dejarán la versión Beta y comenzarán a ser estables. Gracias a estos módulos, es posible reducir todavía más el tamaño de las apps al elegir qué partes entregar según determinadas condiciones, como las funciones del dispositivo o el país. Incluso es posible entregar módulos a pedido, no solo al momento de la instalación. Además, a partir de ahora, las actualizaciones en la app dejarán la versión Beta y comenzarán a ser estables. La capacidad de actualizar apps de manera dinámica es algo que nos piden hace mucho tiempo. Imaginemos que hay un error crucial en una app y que es necesario solucionarlo de inmediato. No tiene sentido esperar a que las personas descubran la actualización en Play Store; ahora, ya no hace falta.

Privacidad y seguridad de los usuarios en Android Q

Dado que somos una comunidad de desarrolladores, queremos hacer las cosas bien. Nuestro objetivo es crear una plataforma que ofrezca capacidades eficientes para desarrolladores sin dejar de proteger la seguridad y privacidad de los usuarios. Hace unos meses, presentamos Android Q Beta, con más de 50 funciones y mejoras relativas a la privacidad y seguridad de los usuarios. Los cambios de la versión Q nos brindaron más transparencia y control.
Como siempre, estamos haciendo todo lo posible para que los desarrolladores adopten la versión nueva, pero sabemos que cada uno tiene sus propias características para desarrollar. Por eso, con los cambios de la versión Q, hicimos nuestro mayor esfuerzo para minimizar el impacto en los desarrolladores y en el envío de sus comentarios. Avisamos con la máxima antelación posible y ofrecimos información técnica completa y detallada desde el principio para facilitar la adopción de la nueva versión. También queremos agradecer a la comunidad por sus constantes comentarios. Fueron de mucha ayuda para que el equipo que trabaja en esto llegara a buen puerto. Un claro ejemplo de esto son los cambios de almacenamiento en la versión Beta 3, que fueron posibles gracias a los comentarios que fuimos recibiendo. Android siempre se compromete a minimizar todos los cambios que puedan producir interrupciones. Este compromiso permanece intacto y trabajaremos arduamente para que Android siga siendo la plataforma que todos amamos: abierta, flexible e ideal para los desarrolladores.

¡Únete a Google I/O!

Tenemos mucho contenido interesante para ofrecerte durante los próximos tres días, que incluye más de 45 sesiones en Android. Nos entusiasma que te unas a nosotros personalmente en Shoreline, en un evento de I/O extendido o por Internet mediante la transmisión en vivo. Invertimos constantemente en nuestra plataforma, que conecta a los desarrolladores con miles de millones de usuarios de todo el mundo. Agradecemos a toda la comunidad de Android su apoyo y sus comentarios constantes, y gracias por formar parte de Android.
Source: Google Dev