Así es Android: componentes de software para el mundo móvil

Publicado: 21 noviembre, 2007 - 14:04
Por: Michael Mace

|

Google ha hecho públicos los detalles de su sistema operativo Android para móviles, comenzando por el kit de desarrollo de software (SDK). Parece que será fácil crear aplicaciones para Android. Lo más interesante es que Android hace especial hincapié en los componentes de software, animando a los desarrolladores a crear módulos de software que se puedan compartir con los de otros desarrolladores y reutilizar entre aplicaciones. Es un espíritu similar al de los mashups del mundo de las aplicaciones web, aunque la tecnología en juego sea bastante distinta.

Si los desarrolladores le siguen el juego a Google, ello podría hacer de Android un entorno de desarrollo muy flexible y atractivo.

Google ha ofrecido 10 millones de dólares en premios a las mejores aplicaciones para Android. Se trata de una cantidad de dinero extraordinaria en el espacio de las aplicaciones móviles, donde los programadores están acostumbrados a la mera subsistencia, con algún gran éxito muy ocasionalmente. En comparación, 10 millones de dólares son más que el presupuesto total de marketing que tuve durante mi último año en PalmSource.

Debe ser estupendo trabajar en una empresa que dispone de recursos financieros ilimitados.

El precio también indica algo sobre la estrategia de Google respecto a Android: recopilar un montón de aplicaciones atractivas que generen demanda de teléfonos Android por parte de los usuarios. En mi opinión, sí que conseguirán dichas aplicaciones, pero está por ver si darán lugar a demanda por parte de los usuarios. Contar con una amplia base de aplicaciones tampoco nos ayudó tanto como sería de esperar en PalmSource.

La otra novedad interesante es que se trata de un entorno de desarrollo completamente basado en Java, con un gran número de extensiones aportadas por Google para aspectos como el multimedia y la gestión tipográfica. Aunque Android está basado en Linux, creo apreciar que se utiliza estrictamente a modo de fontanería: las aplicaciones no pueden acceder directamente a él (al menos, en la versión actual). El intercambio de datos entre las aplicaciones, así como el acceso de las mismas a las funciones del teléfono, pueden ser bloqueados por la operadora o por el fabricante del terminal.

Ello debería hacer de Android un sistema operativo bastante seguro, si bien no resultará nada divertido para los programadores que gustan de trastear con los niveles más bajos del SO.

¿Llegará Android a ser un ejecutable independiente? La dependencia de Java plantea la posibilidad de que la capa de aplicaciones de Android sea convertida a otros sistemas operativos. En mi opinión, ésa sería una estrategia bastante ingeniosa por parte de Google, pues le permitiría impulsar la experiencia de las aplicaciones en una gran variedad de teléfonos. Pero no sería una capa ligera, ya que Google ha construido sobre Linux una gran cantidad de middleware que probablemente también habría que convertir. A menos que Google diseñe las aplicaciones de Android para que sean transportables, que es algo que nadie ha mencionado, me temo que la conversión sería bastante laboriosa.

Otros aspectos del SO:

  • Las funciones contempladas en el SO son un navegador incorporado, gráficos en 2D y 3D, base de datos SQLite, reproducción de audio y de vídeo, GSM, Bluetooth, WiFi, telefonía 3G, cámara, brújula, GPS y acelerómetro (si el teléfono dispone del hardware adecuado). Es decir, una lista de funciones bastante estándar.
  • También existe un conjunto de API opcionales, que pueden ser evitadas por cada operadora o fabricante de teléfonos. Entre ellas figuran las API de cartografía y la mensajería 'peer to peer' entre teléfonos. Google ha presentado este tipo de mensajería como una manera de que dos usuarios jueguen a las damas, pero también se podría emplear para crear una aplicación de mensajería instantánea que evite los SMS. Será interesante ver si las operadoras lo admiten en sus redes.
  • El entorno de desarrollo es un complemento para Eclipse, otro enfoque estándar. El SDK incluye un emulador para probar las aplicaciones antes de que exista el hardware para ellas. Eso era fundamental, ya que todavía falta más o menos un año para que lleguen los teléfonos Android.
  • Las aplicaciones básicas que se incluyen con el SO son las de correo-e, SMS, agenda, navegador, listín y mapas. La única que destaca por poco habitual es la de mapas.
  • Se ha previsto el soporte de hilos multitarea, y las aplicaciones pueden funcionar en segundo plano (lo que debería permitir cosas como escuchar un MP3 mientras se navega).
  • Cada aplicación funciona en su propio proceso Linux separado. Ello contribuye a la seguridad. Las aplicaciones siguen funcionando hasta que dejan de ser necesarias y el sistema decide que necesita la memoria que ocupaban. Esto puede parecer un poco extraño. Windows Mobile también tiende a dejar el código funcionando hasta que necesita el espacio, y ello ha dado lugar a problemas de rendimiento y de estabilidad. Es de esperar que Android gestione mejor las cosas.

    Otra de las advertencias de Google es que si nuestra aplicación no utiliza las llamadas adecuadas para explicar lo que está haciendo, el SO podrá dar por supuesto que no es importante y cerrarla de manera arbitraria. Lo mismo podrá ocurrirle a una aplicación bien escrita, en caso de que el sistema se quede sin memoria. Ello asusta un poco, pues podría dar lugar a la pérdida de datos, especialmente si el usuario arranca muchas aplicaciones.

    Puede que esté anticuado, pero personalmente prefiero que las aplicaciones sólo se cierren cuando le doy al botón de salir.


Comentarios recientes

Encuesta

Suscripciones RSS

Feed Icon
Google
Yahoo!
Bloglines
MSN

Esperando Contenido Widget ...