«

»

may 21 2013

La vida después del Google I/O

Como ya sabréis, la semana pasada se celebró el Google I/O, el gran evento anual de Google para desarrolladores. Como es tradición, se presentaron algunas novedades y se dieron montones de charlas sobre las tecnologías de Google. Algunos esperaban más (el problema de que se difundan falsos rumores inventados), pero lo cierto es que el I/O es un evento dedicado a los desarrolladores, y en eso han cumplido.

androcode_io

Para Android, que es nuestro tema de interés, sacaron varias herramientas y un puñado de nuevas APIs, principalmente entorno al ecosistema de Google, que seguro nos ayudarán a mejorar nuestras aplicaciones hasta un nuevo nivel. Nos han demostrado cómo no es necesario sacar nuevas versiones de Android para proveernos de más herramientas para usar, solventando así el problema del lento ritmo de acogida de éstas.

Tanta información es difícil de asimilar, así que vamos a resumirla para tener más clara toda esta maraña de cosas.

Android Studio

AndroidStudioPara muchos (yo el primero) la joya del evento, el anuncio más esperado hecho realidad. Tenemos un nuevo IDE para desarrollar aplicaciones Android. No ha sido creado de cero específicamente para Android, sino que está basado en IntelliJ, pero la integración es mucho mayor que con Eclipse puesto que trabajan mano a mano con la gente de JetBrains. Aprovecha el magnífico soporte (no oficial) que tiene IntelliJ hasta ahora para Android, y a partir de ahí siguen mejorándolo y añadiendo funciones.

Ya os hicimos un análisis rápido en este otro post. Como experiencia personal, llevo usándolo desde hace un par de días sin haber salido nunca antes de Eclipse, y debo decir que es una gozada. Estoy seguro de que va a suponer un antes y un después en el desarrollo Android. Por supuesto es una preview, presenta algunos fallos y muchas funciones que aún no están disponibles, pero que vendrán con el tiempo.

Descarga y documentación: http://developer.android.com/sdk/installing/studio.html

Publicar aplicaciones en Beta

Una de las cosas que los desarrolladores venimos pidiendo desde hace mucho tiempo, es la posibilidad de publicar versiones de prueba de nuestra aplicación para determinados usuarios. Por fin nuestras plegarias han sido atendidas, y ahora podemos compartir nuevas versiones con un grupo de usuarios cerrado que haya aceptado formar parte de las pruebas, a través de comunidades de Google+ o los viejos Grupos de Google, y ascender el APK a producción una vez decidamos que está listo.

Y como hemos insistido demasiado, no nos dan una sino dos vías de publicación, Alfa y Beta. No es necesario adaptar las aplicaciones, todo se hace desde la consola de desarrolladores.

Consola de desarrolladores: https://play.google.com/apps/publish/

Play Games

play_gamesComo ya se sabía desde unos días antes del evento, Google ha sacado un servicio en la nube para juegos. Básicamente incluye: logros, tablas de clasificación, sincronización de partidas guardadas en la nube, y juego multijugador. Por supuesto está construído sobre la comunidad de Google+, por lo que contamos con una gran base de usuarios conectados entre sí. El servicio forma parte del nuevo Play Services, por lo que funciona de Android 2.2 en adelante. Buenas noticias para los desarrolladores de juegos.

Documentación: http://developer.android.com/google/play-services/games.html

Localización

gps-locationOtras novedades como parte del Google Play Services son referentes a localización. En los tiempos que corren, el contexto es muy importante en el funcionamiento de una aplicación. El ejemplo más claro es Google Now, que procura darnos la información que necesitamos cuando la necesitamos, sin tener que pedírsela. Nos quieren acercar ese mundo futurista un poco, en concreto nos dan 3 nuevas APIs para mejorar nuestras aplicaciones: proveedor fusionado, reconocimiento de actividad, y Geofences.

El proveedor de localización fusionado, o Fused Location Provider que queda mejor, es una interfaz sobre los servicios de localización que ya tenemos, aprovechando los proveedores actuales y sensores del teléfono. Utiliza algoritmos desarrollados por Google para mejorar la precisión de los resultados, reducir el consumo de batería, y simplificar el uso de la API.

El reconocimiento de actividad sirve para detectar la actividad que está realizando el usuario y adaptar nuestra aplicación conforme a ello. Con el trabajo de investigación y recogida de datos de Google, nos permite de momento detectar si el usuario está quieto, andando, en bici, o en otro vehículo. Por supuesto, optimizada para consumir la menor batería posible.

Y las Geofences, que no son más que áreas definidas de forma que cuando el usuario entre o salga de estas se envíe un evento a nuestra aplicación. Hace uso de las dos anteriores funciones para optimizar el rendimiento, como adaptar las actualizaciones de localización según la proximidad al Geofence, o la actividad que esté realizando el usuario.

Documentación: http://developer.android.com/google/play-services/location.html

Google Cloud Messaging

Este servicio que ya presentaron el año pasado en el mismo evento, este año ha pasado a formar parte del Google Play Services, y con ello han añadido una nueva API para comunicación persistente en dirección contraria, es decir, de dispositivo a servidor. El ejemplo con el que nos ilustran la utilidad de la nueva función es la posibilidad de descartar notificaciones en todos los dispositivos al descartarla en uno de ellos, como hace la nueva aplicación de Hangouts.

Documentación: http://developer.android.com/google/gcm/index.html

Google+ Sign-In

La posibilidad de integrar el Log-In de Google+ en nuestras aplicaciones se incluyó hace algún tiempo en el Google Play Services. Esto nos permite ahorrarnos la autenticación de usuarios tanto en nuestra aplicación como en nuestra web, si tenemos. La semana pasada añadieron una nueva función a este servicio, el Cross-platform single sign on, algo así como un registro único multiplataforma.

gps-googleplusPara entendernos, esto lo que hace es detectar, la primera vez que el usuario abre la aplicación, si éste está registrado en nuestro servicio mediante Google+, y de ser así autenticarlo automáticamente y actualizar la configuración de la aplicación si es necesario. En combinación con la posibilidad de instalar aplicaciones desde nuestra web, al igual que se hace desde la página del Play Store, esto permite por ejemplo que un usuario se loguee en nuestra web con su cuenta de Google+, opcionalmente se descargue de forma automática nuestra aplicación en su(s) dispositivo(s), y que cuando la abra tenga acceso a su configuración personal, como favoritos y demás.

Documentación: https://developers.google.com/+/features/sign-in

Support Library

Por último y no menos importante, aunque no se ha anunciado directamente en el I/O, sí que se publicó el mismo día y se mencionó en varias de las charlas; la librería de soporte recibió una actualización. Aparte de las típicas correcciones menores de errores, esta revisión incluye, entre otras, clases para crear un Navigation Drawer (el famoso Sliding Panel sin nombre oficial hasta ahora). También se nos ha prometido que llegará un Action Bar con compatibilidad en versiones anteriores a 3.0, aunque será muy parecida a ActionBarSherlock y no habrá necesidad de migrar.

Al mismo tiempo actualizaron las guías de diseño para incluir oficialmente y de forma detallada este patrón, así como una clase de Android Training para implementarlo. En el vídeo más abajo sobre diseño de UI explican el funcionamiento y los conceptos básicos para implementarlo. Ya iba siendo hora de hacer oficial este patrón que cada vez se usa más, y establecer unas reglas generales para reducir la cantidad de diferentes implementaciones en cuanto a apariencia y funcionamiento que hay ahí fuera.

Documentación: http://developer.android.com/tools/extras/support-library.html

Sesiones

Todas estas cosas y mucho más se mostraron en decenas de charlas que se dieron durante los 3 días que duró el evento. La mayoría se retransmitieron online, pero como es imposible memorizar todo lo que se explica y mucho menos verlas todas a la vez, están subidas a YouTube para nuestro disfrute.

Por supuesto no es Android todo el Google I/O, pero desde luego es la parte que más nos interesa. Tenéis una lista de reproducción de YouTube con todas las charlas sobre Android en este enlace. También tenéis la lista de charlas con los enlaces a los vídeos (las que se hayan grabado), junto con las de otros temas, en el calendario oficial. Además, no debe faltar el vídeo de la Keynote de apertura, del cual casi la primera hora trata sobre Android y cubre por encima estas novedades.

Pero como son muchas charlas y estaréis ocupados desarrollando aplicaciones, hemos decidido destacaros un par de ellas que nos parecen especialmente interesantes para todo desarrollador y que debéis ver sí o sí.

Android Protips

Consejos para hacer nuestras aplicaciones funcionar como por arte de magia, que proporcionen al usuario una experiencia exquisita y destaquen por encima de la competencia.

Este vídeo es la tercera parte de una serie que Reto Meier lleva haciendo desde hace 2 años: Parte 1, Parte 2

Android Design for UI Developers

Consejos e indicaciones para implementar buenos diseños en Android, siguiendo los patrones de UI y UX de la plataforma.

Lo que os contamos aquí es un breve resumen de todo lo que realmente se ha contado en el Google I/O. Os animamos a que profundicéis en los temas que más os interesen, y sobre todo que aprendáis, pues es el principal motivo de todo esto. ¡Hasta el año que viene!

Acerca del autor

Rafa Vázquez

Estudio Ingeniería Informática del Software en Sevilla. Me considero geek sin dinero, amante y desarrollador novato de Android. He creado algunas aplicaciones como SeviBus, TicTacDroide, Kill Bieber y Traductor Hoygan, si es que se puede llamar aplicaciones a estas dos últimas ;) Ganas de aprender más y más no me faltan, e intentaré compartir mis experiencias con vosotros en la medida de lo posible.