El Google I/O no deja de ser un evento para los desarrolladores centrándose en los servicios que ofrece Google, como Android. Ha tenido lugar la principal conferencia sobre novedades para desarrolladores y te contamos lo hablado.
Android Instant Apps para todos los desarrolladores
En el pasado Google I/O fueron anunciadas las Instant Apps, aplicaciones en la nube que no hacen falta instalarlas para ejecutarlas. Fue a lo largo del pasado 2016 cuando empezamos a ver las primeras de estas aplicaciones en acción, desarrolladas por empresas seleccionadas.
A partir de ahora, las Android Instant Apps están disponibles para cualquier desarrollador, pudiendo crearlas con Android Studio 3.0 y publicarlas en Google Play. Una Instant App puede tener el mismo código que una aplicación instalable, siempre y cuando se hayan realizado unos cambios en la aplicación que se basan fundamentalmente en lograr un tamaño reducido y modularizar la aplicación.
Las Instant Apps tendrán que tener una estructura modular, con módulos que no superen los 4MB y que contengan las funciones necesarias para que funcione la aplicación en cada momento. De esta manera se evita que se tenga que descargar toda una aplicación lastrando el rendimiento y la velocidad que las Instant Apps intentan conseguir.
Otros requisitos que pone Google para las Instant Apps es que soporte Android App Links, la forma que tiene Android de saber si cuando entras a una URL (las Instant Apps son URLs) debe abrir una aplicación o mostrar la web. También tendrá que soportar la aplicación el sistema de permisos en ejecución de Android 6.0 Marshmallow, Smart Lock para iniciar sesión (ya que la aplicación no está en el dispositivo, los datos de acceso deben guardarse en la nube) y los pagos deberán realizarse a través de las APIs de Google.
Los usuarios podrán disfrutar de las Instant Apps directamente desde la lista de aplicaciones o desde el escritorio del dispositivo, como si fuera una aplicación instalada más.
Las «Actions on Google» mejoran con pagos y cuentas de usuario
Las Actions on Google [Assistant] pueden denominarse como aplicaciones para Google Assistant. Aún no están disponibles para los usuarios aunque si para desarrolladores. Aunque no tenemos una fecha de lanzamiento para los usuarios (solo un «pronto») ya sabemos que de entrada estarán disponibles en inglés, alemán y francés.
Con Actions on Google pueden crearse aplicaciones que interactúen con el usuario totalmente a través de la voz para que funcione en Google Home o por voz en los móviles y otros aparatos que usen el Google Assistant SDK. Aunque también de una manera más tradicional como es con una pantalla táctil y escribiendo datos.
A las funciones que ya tenían las Actions on Google se añade la posibilidad de realizar pagos, tener un registro de compras y recibir notificaciones del envío de un producto que has comprado a través de Assistant. Añadido a ello también se podrá iniciar sesión y crear cuentas en las aplicaciones usando tu cuenta de Google vinculada y dando una sencilla orden de aceptación cuando el asistente te pregunte.
Los usuarios podrán ver las aplicaciones en un directorio de aplicaciones al que se accederá desde Google Assistant. Ahí se verán las aplicaciones disponibles, sus frases y podrás conseguir más y ver si son compatibles con Google Home además de móviles Android e iOS.
Al igual que con las aplicaciones de Android, los desarrolladores tendrán a su disposición una consola para desarrolladores dedicada a las Actions on Google donde ver el rendimiento de sus creaciones a través de estadísticas.
Soporte a Java 8 y el lenguaje Kotlin
A estas alturas saber que Android utiliza en gran parte la plataforma Java (su lenguaje y su máquina virtual) es algo básico. Es algo que ya hasta quien no tiende del tema sabe. Java, como otros lenguajes o servicios avanza y ofrece nuevas versiones con nuevas características siendo la última versión Java 8. Será con Android O que el sistema podrá utilizar las novedades de Java 8.
Android permitirá programar en Java 8 y Kotlin
También se puede desarrollar para Android usando el lenguaje C++ además de Java y ahora se añade a la lista uno más: Kotlin. Kotlin es un lenguaje moderno, desarrollado desde 2012 por JetBrains, empresa detrás de IDEs como IntellJ IDEA y que colaboran con Android Studio. Trabaja sobre la máquina virtual de Java y además permite trabajar con Java, teniendo partes escritas en Java y otras en Kotlin y que ambas se relacionen entre si.
Android Studio 3.0
El entorno de desarrollo oficial para Android se actualiza en fase de pruebas a su versión 3.0 incorporando soporte para desarrollo en Android O, Android Things y Android Instant Apps entre otras funciones. Como hemos comentado anteriormente, ahora Android Studio es capaz de utilizar las funciones de Java 8 al igual que el lenguaje de programación Kotlin.
El emulador de Android Studio mejora, permitiendo ejecutar una versión del sistema con Google Play, soporte a OpenGL ES 3.0, soporte a proxy, soporte a la entrada rotatoria de Android Wear y una mejor manera de reportar errores. Junto a ello, ahora es posible depurar APKs que no hayan sido creadas con Android Studio.
De cara a Android O los desarrolladores tendrán a su disposición una herramienta que les ayudará a crear los iconos adaptativos de aplicaciones y el uso de fuentes propias.
Por otra parte, la prueba de aplicaciones se hace más exhaustiva con la incorporación de monitores de CPU, memoria y uso de red, los cuales proporcionarán datos en tiempo real mientras la aplicación está funcionando en un móvil conectado al ordenador con Android Studio.
Novedades en la Google Play Developer Console
La consola de desarrollo de Google Play es el lugar donde los desarrolladores pueden ver las estadísticas de su aplicación, publicar nuevas actualizaciones, etc… Entre los cambios que se aproximan también habrá mejoras para ésta como la inclusión de un catálogo de dispositivos con Android y sus características.
De esta manera un desarrollador podrá saber las características técnicas de cada modelo para adaptar mejor su aplicación y no permitir su instalación en ciertos dispositivos si por una de sus características da problemas con la aplicación. Para ayudar en este proceso también se permite ver las estadísticas de instalación en aquellos dispositivos con un cierto procesador o con cierta cantidad de memoria RAM por ejemplo, para saber si es mejor quitar el soporte, arreglar el fallo o desestimarlo.
TensorFlow 1.2 acerca más IA a los desarrolladores
TensorFlow, el framework de Google que incluye todas sus APIs y herramientas de inteligencia artificial. En su última actualización añade un motor de aprendizaje para realizar este proceso en la nube sin necesidad de un equipo de alto rendimiento.
Google también ha aprovechado el Google I/O para mostrar sus TPU (Tensor processing unit) de segunda generación, unas unidades de procesamiento creadas específicamente para la función del Machine Learning (aprendizaje por parte de máquinas).
Lighthouse para Google Chrome ayuda a desarrollar WebAPKs
Las WebAPKs son aplicaciones Android que se ejecutan en el navegador. Compuestas con código de Android son diferenciadas de las Android Instant Apps en que estas no se ejecutan totalmente en la nube. En cambio una WebAPK sigue siendo muy ligera y han mostrado el ejemplo de Twitter Lite. Con sus propias notificaciones, interfaz, página en ajustes de aplicaciones e incluso icono junto a las otras aplicaciones, ocupaba menos de 1MB de espacio.
Ahora aquellos desarrolladores que quieran realizar tareas de depuración (debug) de sus WebAPKs podrán hacerlo directamente desde Google Chrome a través de la extensión Lighthouse que también hará un análisis de la accesibilidad de la aplicación.
Firebase integra Fabric y continua mejorando
Google compró el año pasado Fabric de las manos de Twitter y ahora anuncia la integración de sus funciones en Firebase aunque la más querida de Fabric, su reporte de estadísticas sobre fallos (crash report) tardará aún en llegar.
Una de las nuevas funciones que recibe Firebase es la inclusión de Google Analytics para ver en tiempo real el redimiento de tu aplicación alrededor del mundo y poder estar atento a una serie de eventos que hayas especificado con anterioridad.
También se han anunciado las funciones en la nube, que permiten a través de los datos de una aplicación alojada realizar funciones. Por ejemplo, cuando un nuevo usuario es registrado puede enviar una notificación o cuando se aloja una imagen se pueden generar versiones de distintos tamaños. Todo esto, de manera automática en la parte del servidor.