lunes, 12 de noviembre de 2007

Demostración del desarrollo de aplicaciones en Android

En este video, un desarrollador de Google nos muestra el desarrollo de una aplicación realizada bajo Android utilizando Eclipse. Al final del video podemos ver el emulador del dispositivo móvil que incluye el SDK.

Sergey Brin presentando Android en YouTube

10 Millones en premios para desarrolladores

Google financia una competencia llamada Android Developer Challenge para desarrolladores de aplicaciones bajo el entorno provisto por Android que incluye premios por 10 millones.

El dinero se repartirá en dos competencias:

  • Android Developer Challenge I: Se aceptaran trabajos desde el 2 de Enero hasta el 3 de Marzo del 2008
  • Android Developer Challenge II: Esta competencia tendrá lugar en la segunda mitad del 2008

En la primer competencia, los 50 trabajos más prometedores recibirán cada uno 25 mil dolares para financiar su desarrollo. De los elegidos se eligirá nuevamente para repartir diez premios de 275 y diez premios de 100 mil dolares.

Recorrido por la arquitectura de Android

¿Qué es Android?

Android es una plataforma de software para dispositivos móviles que incluye un sistema operativo y aplicaciones base.

Características

  • Framework de aplicaciones habilitando la reutilización y el reemplazo de componentes
  • La máquina virtual Dalvik optimizada para dispositivos móviles
  • Navegador integrado basado en el motor del proyecto abierto WebKit
  • Gráficos optimizados proveídos por una librería de gráficos 2D. Los gráficos 3D están basados en la especificación OpenGL ES 1.0, con soporte para aceleración gráfica por hardware (opcional)
  • SQLite para estructurar el almacenamiento de datos
  • Soporte multimedia común para audio, video, imagenes, soportando varios formatos (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • Telefonía GSM (si el hardware lo soporta)
  • Bluetooth, EDGE, 3G, y WiFi (si el hardware lo soporta)
  • Camera, GPS, compass y accelerometer (si el hardware lo soporta)
  • Completo entorno de desarrollo incluído un dispositivo emulador, herramientas de depuración, y un plugin para el IDE Eclipse

La arquitectura de Android

El siguiente diagrama muestra los principales componentes del sistema operativo Android

Aplicaciones

Con Android vienen un conjunto de aplicaciones base que incluyen un cliente de correo, un mensajero SMS, calendario, mapas, navegador, manejador de contactos y otros. Todas las aplicaciones están escritas en el lenguaje de programación Java.

Framework de aplicaciones

Los desarrolladores tienen acceso completo al mismo framework de APIS utilizado por las aplicaciones base. La arquitectura de las aplicaciones está diseñada para simplificar la reutilización de componentes, cualquier aplicación puede publicar sus funcionalidades permitiendo a cualquier otra aplicación a hacer uso de ellas (sujeto a reglas de seguridad impuestas por el framework). El mismo mecanismo permite a los componentes ser reemplazados por el usuario.

Un capa de servicios disponibles para las aplicaciones que incluye:

  • Un completo y extensible conjunto de vistas que pueden ser utilizadas para desarrollar una aplicación: listas, grillas, cajas de texto, botones e incluso un web browser
  • Proveedores de contenidos que permiten el acceso a datos provenientes de otras aplicaciones (cómo Contactos), o a compartir sus propios datos
  • Un administrador de recursos, que provee acceso a recursos como cadenas, gráficos, y archivos.
  • Un administrador de notificaciones que permite a todas las aplicaciones mostrar alertas personalizables en la barra de estatus
  • Un administrador de actividades que maneja el ciclo de vida de las aplicaciones y provee un comportamiento común en la navegación

Librerías

Android incluye un conjunto de librerían escritas en C/C++ usadas por varios componentes del sistema Android. Estas capacidades están disponibles al desarrollador a través del framework de aplicaciones.