El gran auge de los dispositivos móviles, tanto teléfonos inteligentes como tabletas ha disparado exponencialmente el uso de Aplicaciones nativas y web, complementariamente al desarrollo de páginas web tradicionales, las empresas del sector deben comenzar a trabajar a fondo este tipo de aplicaciones para sus clientes si quieren garantizar su presencia en este nuevo entorno. Pasamos pues a hacer un análisis en profundidad de las mismas y el porqué de su utilización.
En dispositivos móviles podemos distinguir dos tipos de aplicaciones:
Aplicaciones web y aplicaciones nativas.
- La aplicación web se caracteriza por depender de un navegador web para su ejecución.
- La aplicación nativa es aquella que se instala en el dispositivo y es desarrollada en un lenguaje que el propio dispositivo soporte.
Dentro de las aplicaciones nativas tenemos tres principales vías de desarrollo:
- Usar el SDK (Software Development Kit) oficial del sistema operativo,
- Optar por frameworks de desarrollo basados en HTML+CSS+Javascript.
- Desarrollar aplicaciones web que son empotradas (embebidas) dentro de una aplicación nativa (sin interacción con el dispositivo).
También existen otras vías, como lo son (en el caso de Android) Basic4Android o PHP for Android, que permiten desarrollar aplicaciones usando otros lenguajes como Visual Basic o PHP, o el Android NDK (Native Development Kit), que permite usar C/C++ para trabajar a bajo nivel. Este tipo de vías no serán objeto del presente artículo.
Una vez que conocemos las posibilidades, ¿que tipo de desarrollo nos conviene emplear? La respuesta a esta pregunta depende de la aplicación a desarrollar, y más concretamente de las funcionalidades que se desea que ésta tenga. Este artículo pretende dar a conocer los pros y los contras del desarrollo de cada una de éstas.
¿Por qué desarrollar aplicaciones web?
- Multidispositivo (accesible desde cualquier móvil con navegador) con un solo desarrollo, y por tanto, mayor visibilidad de nuestra marca, producto o servicio (no nos limitamos a estar en stores, estamos accesibles vía navegador)
- Desarrollo de aplicaciones sencillas (principalmente consulta de información, con poca o ninguna interacción)
- Sin necesidad de usar ninguna funcionalidad del teléfono
- Actualizaciones transparentes para el usuario, ya que son realizadas en el servidor
¿Por qué desarrollar aplicaciones nativas?
- Rendimiento y velocidad de carga respecto de las empotradas o hechas con frameworks (en web hay que esperar a que cargue la página y con frameworks puedes tener problemas de rendimiento de Javascript)
- Utilizar toda la potencia del SDK del dispositivo
- Desarrollo de aplicaciones complejas (cámara, GPS, sensores, Bluetooth, cliente/servidor, etc…)
- Para evitar sorpresas (requisitos no bien analizados y/o cambiantes)
¿Por qué desarrollar aplicaciones nativas con frameworks HTML/CSS?
- Multidispositivo (iOS, Android, Windows Phone…) con un solo desarrollo, y por tanto, mayor visibilidad de nuestra marca, producto o servicio
- Para diseños complejos de realizar con el SDK (que requiere más trabajo): mejor usar HTML+CSS y el motor de renderizado del navegador
- Velocidad de carga respecto aplicacioness empotradas
- Uso de funciones del dispositivo para tareas de complejidad media-baja
- Desarrollo de aplicaciones de dificultad media-baja
¿Por qué desarrollar aplicaciones web empotradas en aplicaciones nativas?
- Características similares a las aplicaciones web
- Pueden ser distribuidas en las tiendas (App Store, Android Market, Windows Marketplace…)
- Posibilidad de utilizar alguna función del dispositivo, pero sin interacción con la web empotrada
Por Jose Ignacio Honrado.
1 comentario
Muy buena la informacion, pero buscaba acerca de "¿como crear aplicaciones para dispositivos moviles?"
Deja un comentario