sábado, 25 de febrero de 2012

Novedades del Android 3.0 y Android 4.0 --> Developers


Novedades en Android para Developers

En octubre del 2011 se publicó el SDK de Android 4.0 donde pudimos ver por encima las novedades que traía esta versión del Sistema Operativo Android, como una nueva versión dedicada a las Tablets y a los SmartPhones. En este artículo, primero veremos las herramientas y novedades que ofrece la versión de Android 3.0 a los desarrolladores, presentada en Julio del 2011, para así luego pasar a la última versión Android 4.0, siempre con una mirada de Developer.

Novedades en Android 3.0 SDK

La principal novedad de Android 3.0 (HoneyComb) es la interfaz exclusiva para Tablets, donde aprovecha todas las posibilidades de las pantallas más grandes, donde gracias a la nueva barra de sistema y la de acciones, se hacen mucho más intuitivas las aplicaciones y el sistema en general.

Nuevas herramientas en la interfaz de usuario

Ahora los desarrolladores pueden dividir las aplicaciones en módulos, llamados fragmentos para que una aplicación se divida en subcomponentes y poder manejarlos de manera individual y combinarlos de distintas formas, como por ejemplo la creación de un multipanel, como se muestra en la imagen a continuación.
Una aplicación podrá estar formada por varios fragmentos, donde cada uno es una vista de la aplicación para interactuar de forma independiente. Se pueden agregar, eliminar y mover dentro de una aplicación. Al ser modulares se facilitará la adaptación de las aplicaciones a todo tipo de pantallas. ¿Por qué fragmentos? Desde el punto de vista de un desarrollador, la transición más grande de SmartPhones a Tablets es el tamaño de la pantalla. Entonces, los fragmentos crean un puente para las aplicaciones que desean ser optimizadas. Más información en: http://goo.gl/luYeI  
También se ha actualizado la interfaz de los widgets para aprovechar las pantallas de las Tablets usando la nueva interfaz holográfica. Se aumenta los tipos de widgets, como las nuevas pilas en 3D, listas, cajas de búsqueda, calendarios, etc. Los developers pueden crear sus widgets heredando el nuevo diseño. Entonces con esto, los widgets son más interactivos, ya que se pueden crear colecciones mediante pilas 3D, listas o tablas para que los usuarios puedan ver su contenido de forma rápida y sencilla.
También ahora cada aplicación podrá tener su barra de acción, que esta ubicada en la parte superior. Las acciones de esta barra podrán depender del contexto de lo que estemos realizando. Y por el otro lado, se presentaron mejoras en las notificaciones, ya que se han mejorado las notificaciones para la interfaz de las Tablets. Se podrán crear notificaciones mostrando más contenido y mejor ordenado, ya que se podrán usar imágenes más grandes, un titulo, decir el grado de prioridad de esa notificación y el resto de propiedades en versiones anteriores de Android. A continuación tenemos una imagen del nuevo escritorio:
Android 3.0 da soporte a la aceleración por hardware de OpenGL, y así se tendrán todo el control para hacer uso de esta aceleración por hardware. También se han presentado nuevas herramientas para crear animaciones, es decir, será más fácil realizar animaciones en las aplicaciones, como crear transiciones, cambios de color o desvanecimientos, entre otros efectos. Por último en relación a las mejoras en la parte grafica, debemos destacar que se incluye el motor gráfico RenderScript 3D que es un motor gráfico con su propia API para la creación de gráficos en 3D. Con él se facilitará la creación de contenido 3D, como efectos, fondos de pantalla, carruseles, y mucho más. Un ejemplo es la aplicación de Google para libros que se muestra a continuación:

¿Y la compatibilidad?

Android 3.0 trae una nueva interfaz diseñada para las Tablets, pero las actuales aplicaciones para versiones anteriores a SDK 3.0 no tendrán problemas en funcionar en esta nueva versión. Tan sólo tenemos que agregar un nuevo atributo a sus aplicaciones para que estas funcionen sin problemas en la interfaz para Tablets. Ese nuevo atributo lo que hará es añadir la barra de acción, donde veremos la tecla Menú, ya que la mayoría de las Tablets que salen con Android 3.0 no tienen botones físicos ni táctiles.

Novedades en Android 4.0 SDK

Retrasos de Google, lutos de por medio, al final, el 19 de Octubre del 2011, Google presento en sociedad la versión Android 4.0 llamada Ice Cream Sandwich, que ve la luz con mucho amor para los desarrolladores. Repasemos a continuación las mejoras y novedades que nos trae, destacando que esta versión unifica el uso en cualquier dispositivo, es decir, podemos desarrollar aplicaciones que se ejecuten en teléfonos, tablets, televisores y netbooks, utilizando la nueva interfaz limpia y moderna con una nueva fuente llamada "Roboto", muy al estilo de Honeycomb.

Unificando el camino


La versión de sistema operativo Google Android 4, conocida como Ice Cream Sandwich, ha sido presentada junto con el Smartphone Galaxy Nexus de Samsung. Afortunadamente, Google sigue los pasos dados por Apple, unificando el sistema de ambas modalidades de productos, con el fin de ayudar a los desarrolladores. Como resultado, tanto las tabletas de Android, como los teléfonos, van a compartir la misma interfaz de usuario. Y esto significa poseer nuevas herramientas de la interfaz de usuario, mejores prácticas de diseño, código simplificado y más recursos para el desarrollo.
Esta versión unificada para móviles y tablets, logra que por fin Fragments, Loaders, la ActionBar y otras mejoras de Honeycomb estén disponibles para SmartPhones de forma nativa.

También se presentaron funciones nuevas para la cámara. Exposición ZSL, enfoque continuo y zoom de imagen, funciones que permiten a las aplicaciones capturar mejores imágenes fijas y de vídeo. Las aplicaciones tienen la posibilidad de capturar instantáneas de alta resolución durante la grabación de vídeo. Las aplicaciones pueden establecer regiones personalizadas de medición en una previa de la cámara y después manejar el balance de blancos y la exposición dinámicamente para esas regiones. Para facilitar el enfoque y tratamiento de imágenes, un servicio de detección de rostros identifica y compara las caras en una vista previa y devuelve sus coordenadas en la pantalla.

Mejoras en Comunicaciones y de Conectividad

Android 4.0 extiende las características sociales y la distribución de cualquier aplicación en el dispositivo. Las aplicaciones pueden integrar los contactos, los datos del perfil, y eventos de calendario a partir de cualquiera de las actividades de los usuarios o redes sociales.

Se presentaron nuevas APIs sociales, y ahora tenemos la oportunidad de sumar nuevas características orientadas a las redes sociales a nuestro perfil en el teléfono, y como desarrolladores, podemos explotar este hecho a través del ContactsContract. Pero además podremos ofrecerle al usuario la posibilidad de añadir contactos desde nuestras aplicaciones.


También, existe una API nativa para acceder a Google Calendar, llamada Calendar Provider. Este proveedor de calendario y de contenido compartido en la API nos va a facilitar a los desarrolladores agregar servicios de calendario a las aplicaciones. Con el permiso del usuario, cualquier aplicación puede agregar eventos a la base de datos compartida y gestión de las fechas, los asistentes, las alertas y recordatorios. Las solicitudes también se pueden leer las entradas de la base de datos, incluyendo los eventos aportados por otras aplicaciones y controlar la presentación de alertas de eventos y recordatorios. Mediante el proveedor de calendario, las aplicaciones pueden tomar ventaja de los datos de eventos provenientes de una variedad de aplicaciones y protocolos, para ofrecer formas innovadoras de visualización y gestión de eventos de un usuario. Las aplicaciones también pueden usar datos de la agenda para mejorar su contenido.
Por medio del Media effects Framework tenemos disponible un conjunto de utilidades que permite agregar efectos visuales a imágenes y vídeos.
Por otro lado, una mejora interesante es la de la detección de caras: si bien ya existía el FaceDetection en Android desde su versión 1.0, librerías como OpenCV obtenían mejores resultados y rendimiento. Con las nuevas mejoras introducidas, y sobretodo pudiendo utilizar esta API sin recurrir al NDK, ¿ganará el SDK? Hemos encontrado un pequeño problema de “seguridad” a mi criterio: con una foto también podemos desbloquear el teléfono, ya que detecta la cara en la foto.

¿Android Beam? en mi opinión, la novedad más importante del SDK. Recordemos que NFC son las siglas en inglés de Near Field Communication, una tecnología de comunicación inalámbrica, de corto alcance y alta frecuencia que permite el intercambio de datos entre dispositivos a menos de 10cm. Ya no solo podemos utilizar NFC, sino que ahora tenemos una API dedicada a la transferencia de información entre terminales vía NFC. Y lo mejor es que el sistema funciona tipo Push, por lo que presumiblemente el receptor del mensaje no tendrá que iniciar la aplicación de destino para recibir el mensaje, sino que Android Beam lanzará un Intent cuando esté el mensaje disponible. Más información en: http://goo.gl/ZtmiQ   

Por distintos medios en internet sabemos que existen muchos de aparatos médicos que utilizan bluetooth para enviar y recibir información. Google nos ofrece una herramienta para facilitar el desarrollo en un campo que no es el del típico usuario, pero que tiene enormes posibilidades, mediante  Bluetooth Health Device Profile.

También aparece una API de Servicios de Textos para integrar CORRECTORES ORTOGRÁFICOS, es decir, Android 4.0 permite a las aplicaciones consultar los servicios de texto disponibles, tales como diccionarios y correctores ortográficos para sugerir palabras, correcciones y datos similares. Los servicios de texto son externos al IME activo, por tanto los desarrolladores pueden crear y distribuir diccionarios y motores de sugerencia que se conectan a la plataforma. Cuando una aplicación recibe resultados de un servicio de texto, por ejemplo, sugerencias de palabras, puede mostrarlas en una ventana emergente directamente dentro de la vista de texto, en lugar de confiar en el IME para mostrarlas. Pero ¿qué es el IME? El IME es un método de entrada que implementa un modelo particular de interacción, que permite al usuario generar texto. El sistema se une al método de entrada actual que está en uso, permitiendo que se pueda crear y ejecutar, y le dice cuando se tiene que ocultar y mostrar su interfaz de usuario. Sólo un IME funciona a la vez.

Conclusiones


Gracias a Android 3.0, los desarrolladores podemos ofrecer aplicaciones más intuitivas y vistosas con una nueva experiencia que nos hará el día a día más fácil como desarrolladores, sumado a que tenemos un mejor soporte para redes WIFI y para una gran variedad de periféricos con conexión USB, como teclado, Mouse y cámaras digitales, y también con la nueva interfaz visual y a la posibilidad de utilizar los Fragmentos, tenemos herramientas más que interesantes para desarrollar aplicaciones muy intuitivas. Android 4.0 amplía las funciones sociales y para compartir. Google quiere potenciar el elemento social, gracias a la API SOCIAL y API CALENDAR, entre las mejoras en comunicaciones que también presentaron.
Está claro que Android es una de las plataformas móviles con mayor popularidad en el mercado.  Si algo tenemos que destacar de estas dos últimas versiones es que, los desarrolladores tenemos todas las facilidades para adaptar las aplicaciones a la nueva interfaz y así mejor la experiencia y usabilidad de las mismas, con interesantes APIs, mejoras en las capacidades multimedia y en los nuevos tipos de conectividad.
Desde antes de su lanzamiento, Android 4.0 ha sido la esperanza de los desarrolladores con el fin de que de una vez por todas unifique ambas plataformas de dispositivos, a mi criterio queda mucho por mejorar y de una buena vez se unificaran Google TV, con Tablet y Smartphone, ya en Android 5.0, que se podría llamar “Jelly Bean”.
Pero, paso a paso se está llegando. Hasta la próxima entrega!

No hay comentarios:

Publicar un comentario