Para capturar al creciente público de usuarios de dispositivos móviles, no sólo puede ser necesario ofrecer un sitio web responsivo o una versión móvil, sino además (o en su lugar) una aplicación móvil. Por lo general, las empresas con presencia en Internet ofrecen aplicaciones móviles para que los usuarios accedan a algunos de los servicios online de su empresa desde una interfaz especialmente adaptada a smartphones y tablets. Así, empresas de vuelos ofrecen aplicaciones para comprar pasajes y guías gastronómicas ofrecen las propias para calificar restaurantes o reservar mesas.
A la hora de desarrollar nuestra aplicación debemos elegir uno de tres caminos posibles. Nuestra aplicación puede ser nativa, web o híbrida:
- Nativa. Son aquellas que se comunican directamente con el sistema operativo, sin ningún programa intermediario o contenedor. Por eso, tienen un acceso total al hardware del dispositivo. Pueden manipular la cámara, el GPS, el acelerómetro, la brújula, la lista de contactos y más. Se desarrollan para algún sistema operativo en particular, a través de su SDK, en lenguajes como Objective-C y Java. Se descargan de la tienda oficial del sistema operativo en cuestión (por ejemplo, Google Play para Android y App Store para iOS) y podemos ejecutarlas activando su propio ícono en la pantalla de home.
- Web. En realidad, se trata de sitios web cuyo diseño imita al de las aplicaciones nativas. Como cualquier sitio web, están escritas en HTML, CSS y JavaScript y se accede a ellas a través de un browser. Como es el navegador y no directamente el sistema operativo el que se encarga de presentarlas, no tienen acceso a las funcionalidades del dispositivo a excepción de la pantalla táctil y el teclado. Pero como se trata de aplicaciones, y no de simples conjuntos de páginas, su objetivo se orienta más a brindar un servicio que información.
- Web para un dispositivo en particular. Sitios web cuya interfaz semeja la de algún sistema operativo en particular. Se pueden utilizar desde cualquier plataforma con browser, pero se mimetizan especialmente con Android, iOS u otro en especial.
- Híbrida. Estas aplicaciones son esencialmente web, pero emplean algo de código nativo para poder acceder a algunas funcionalidades del dispositivo. De esta manera, para adaptar la aplicación a otro sistema operativo sólo debe cambiarse esa porción del código, ya que la capa web es accesible desde cualquier plataforma.
Próximamente conoceremos las ventajas y desventajas de cada enfoque, que deberían ser tenidas en cuenta a la hora de proyectar cualquier aplicación mobile.