Saltar al contenido

Este año, uno de mis objetivos era aprender a programar en Android, hacer alguna aplicación y publicarla en Google Play para ver cómo funciona. Todavía estoy en ello, de momento sólo he aprendido la programación básica de aplicaciones.

Programando
Llevo un par de meses, siguiendo el libro Android Programming: The Big Nerd Ranch Guide. Es un poco guíaburros (haz esto, esto y esto y conseguirás tal o cual cosa), pero es recomendable para el que quiera aprender un poco de todo. No llega a dar una visión general de Android pero es muy amplio y cubre muchos aspectos de este entorno de programación (formularios, bases de datos locales, conectividad http, sensores de localización, cámara de fotos, etc).

¿Porqué Android?
En igualdad de condiciones, si puedo elegir, prefiero los sistemas open source. Android además de ser libre, cada vez parece más seguro que va a dominar el mercado de teléfonos móviles. Google ha sabido aprovechar las ventajas de un sistema operativo abierto y apoyarlo con un desarrollo sostenido y dinámico más típico de una plataforma cerrada.

Plataforma Android
Gracias a la versatilidad que permite instalarlo y utilizarlo en dispositivos muy diferentes, a Android le queda recorrido en cuanto dispositivos y aplicaciones por desarrollar. Le da mucha libertad a los desarrolladores y a la larga se crearán otros productos que no serán sólo teléfonos móviles (ya hay relojes para empezar).

Por otro lado, ha conseguido enfocar a la comunidad open source. Para muchos desarrolladores tener una referencia única (por ejemplo la página sobre sensores) es una ventaja. No sé si es lo mejor, pero reconozco que es bueno que haya una voz principal, que recopile y unifique la información y la forma de trabajar.

Android ha superado muchas barreras que Linux por sí mismo no había podido superar y creo que le espera un futuro interesante.

 

Un estudio concluye que el futuro de las aplicaciones móviles está en las aplicaciones móviles web adaptadas a los interfaces táctiles. El estudio viene de una empresa que se dedica a las búsquedas en la web para terminales táctiles, así que no es extraño que hayan llegado a esa conclusión.

Sin embargo el estudio apoya con cifras la idea de que los juegos y las aplicaciones de entretenimiento se distribuyen más como aplicaciones nativas mientras que las apliaciones sociales y las aplicaciones para compras y servicios se distribuyen más como aplicaciones web.

En cualquier caso existe la duda técnica de si las aplicaciones basadas en web serán tan rápidas como las aplicaciones de escritorio. Muchas aplicaciones son lo suficientemente buenas, pero probablemente los juegos más exigentes no sean adaptables a la web.

Un ejemplo que me he encontrtado es el de freeciv un juego de escritorio para el que han desarrollado un frontend en html5 y por ahora la experiencia no me ha parecido demasiado buena. Se puede jugar, pero no tiene una interfaz demasiado buena comparado con el juego de escritorio.

Por otro lado está la duda económica. Las aplicaciones web generan ingresos principalmente por medio de la publicidad y las suscripciones. Las aplicaciones nativas lo hacen mayoritariamente a través del cobro por descarga. Aunque técnicamente sea viable desarrollar juegos completamente html5, es posible que generen más ingresos con el modelo de cobro por descarga, por lo que quizá no sea rentable desarrollar juegos html5.

2

Google acaba de introducir google voice para el iphone como aplicación web basada en html5 en lugar de cómo aplicación nativa, saltándose el proceso de la app store de apple. Voice es una aplicación interesante en sí misma porque virtualiza nuestra línea telefónica, pero lo llamativo en este caso es que una aplicación nativa ha sido sustituida por una aplicación web abriendo el debate sobre qué modelo es más adecuado para desarrollar aplicaciones móviles.

Lo cierto es que no todas las aplicaciones son iguales. Por ejemplo la mayoría de juegos necesitan acceso directo al hardware para funcionar rápido. Sin embargo para una aplicación que no sea muy exigente técnicamente, puede ser suficiente con html5, beneficiandose de la disponibilidad y facilidad de instalación de las aplicaciones web y de la visibilidad en los buscadores web como google.

La verdadera clave será la capacidad para generar ingresos, ya sea por publicidad, por descarga o por suscripción. Y en este sentido, actualmente lleva cierta ventaja la app store, pero es probable de que la irrupción de aplicaciones web potentes puede cambiar el escenario.

Muchos sitios web están añadiendo versiones móviles de sus portales que incluyen soporte para html5. Leyendo un artículo sobre las mejores prácticas para desarrollo de sitios móviles, me he encontrado con la versión móvil de flickr, que utiliza el api de geolocalización de html5 (que se puede probar con firefox 3.5). La nota curiosa es que la geolocalización de flickr, una empresa yahoo, utiliza google maps. Es probable que yahoo maps no funcione bien en dispositivos móviles mientras que la versión 3 del api de google maps está optimizado para dispositivos móviles, lo que nos da una idea de la importancia que le da google a las aplicaciones móviles.