Al plantearse el desarrollo de una aplicación móvil es inevitable que de inmediato surjan tres dudas:
Contenido
¿Qué sistema operativo? ¿Qué dispositivos? ¿Qué tipo de app?
A la primera y segunda pregunta es fácil responder con datos. El informe de la compañía de análisis IDC confirma que los sistemas operativos Android e iOS son los dominadores absolutos del mercado, por delante de Blackberry, Symbian y Windows Phone. En 2012 acapararon el 87,6% de los smartphones. Por otro lado, entre los dispositivos móviles el smartphone siguen siendo el rey, aunque viendo las tendencias del mercado, una aplicación optimizada también para tablets gana muchos puntos.
¿Aplicación nativa, web app o híbrida?
Para resolver esta tercera duda es necesario estudiar qué ventajas e inconvenientes tiene cada una.
El desarrollo de aplicaciones móviles web es el desarrollo de aplicaciones web regulares pero optimizadas para ser visualizadas desde un dispositivo móvil. Se accede a ellas desde el navegador del dispositivo y serán idénticas para todos. Para su desarrollo, igual que con cualquier site, se utiliza HTML, CSS y JavaScript. Interesante infografía de cómo sería el proceso.
Por otra parte, el desarrollo móvil nativo es el desarrollo de aplicaciones que se distribuyen desde los mercados de aplicaciones móviles, como el AppStore o el Play Market, y se instalan en el sistema de archivos de cada dispositivo. Es una aplicación distinta por cada sistema operativo y se desarrolla con lenguajes como Java (Android) u Objective-C (iOS), pero hay alternativas como Appcelerator que permiten desarrollarlas utilizando JavaScript puro, para ambas plataformas.
Con tantas ventajas en unas y otras ¿por qué no desarrollar una aplicación que sea la mezcla de ambas?
Así se conocen las apps híbridas, en las que se utiliza el desarrollo nativo cuando es mejor o más necesario (para utilizar la cámara, por ejemplo), y el desarrollo web cuando es más práctico (por ejemplo en interfaces más complejas). Un ejemplo serían las aplicaciones móviles de LinkedIn o Instagram.
Por tanto, la respuesta es simple: escoge el tipo de app según las necesidades. Y, en cualquier caso, en el desarrollo de la aplicación es imprescindible no dejar de lado la nube. El cloud computing está cambiando la manera en que se diseñan, implantan y testean las aplicaciones, porque hace estos procesos más ágiles, flexibles y rápidos.