Loading

Español  English

Desarrollo de apps nativas e híbridas

 

Diseño de apps

Si se va a encargar una app, es porque realmente se le quiere sacar partido, o sea, se van a aprovechar las características del teléfono movil. Existen dos tipos de desarrollos de app, que son la webapp híbrida y la app nativa.

Webapp híbrida

Una webapp es una app desarrollada en html + css + Javascript, como si fuera una página web. Antes de continuar, hay que aclarar lo siguiente:

Una webapp no es una web adaptada a móvil: Una web adaptada a móvil solo es una web "normal y corriente" al que se le a aplicado un diseño responsivo o bien una adaptación para su correcta visión en dispositivos móviles. Pero nunca es una app, pues no se puede instalar en dispositivo móvil ni publicar en una tienda de apps (Appstore o Google Play).

Las webapps híbridas siempre son desarrollos html + css + Javascript; que se suelen hacer con frameworks como jQuery Mobile, Ionic + AngularJS, etc... en definitiva se construyen más o menos como las páginas web. El término "híbrido" viene porque una vez construidas, las hay que encapsular en una "carcasa" nativa para poder publicarlas e instalarlas en los dispositivos moviles. Se puede decir que son mitad web mitad app. La carcasa nativa, que se suele hacer con aplicaciones como Phonegap, además de posibilitar la publicación de la webapp, la dota con un acceso "nativo" a todos los elementos del movil: Cámara, libreta de direcciones, acelerómetro, etc... con lo que sus prestaciones aumentan considerablemente.

Ventajas de las webapps híbridas:

  • Desarrollos más económicos, pues solo se trata de desarrollos web.
  • Permiten mayor customización del diseño que las nativas.
  • Al tratarse de desarrollos web, también son mas sencillos de modificar y mantener.
  • El mismo desarrollo vale para todas las plataformas (iOS, Android, etc..), solo hay que cambiar la "carcasa".

Desventajas de las webapps híbridas:

  • La aplicación es algo más lenta en general que una app nativa, tanto la navegación por las pantallas como la velocidad en general, aunque con el avance en prestaciones de los moviles, cada vez se nota menos.
  • La comunicación con el hardware del móvil no es tan eficiente como en las apps nativas, y en general algo más lenta.
  • Debido a los dos anteriores puntos, hay muchos tipos de desarrollo que es imposible hacerlos con una webapp (juegos de acción, aplicaciones complejas con la cámara, desarrollos que sean muy complejos en general, etc.)
  • Hay cosas que en las apps nativas ya vienen por defecto, y sin embargo en las webapps hay que programar de cero, por ejemplo el stack de vistas, etc.

Apps Nativas

Son apps creadas con el entorno de desarrollo correspondiente a cada plataforma (xCode en iOS, Android Studio en Android, etc.). Estas son apps reales, y aprovechan al 100% toda la capacidad y velocidad del dispositivo movil.

Ventajas de las apps nativas:

  • Aprovechan al 100% la velocidad y el hardware del dispositivo móvil, y no tienen ninguna limitación, por lo que se puede hacer cualquier tipo de app.

Desventajas de las apps nativas:

  • Son desarrollos caros de por sí (es como hacer un programa, mientras que las webapps es como hacer una página web), y además hay que hacer un desarrollo distinto para cada plataforma (iOS, Android, etc...), por lo que el coste se duplica.
  • Al ser desarrollos nativos, están mas expuestos a fallos de código, de falta de memoria, y a incompatibilidades entre diferentes versiones del sistema operativo.

Los webservices

Cuando se encarga el desarrollo de una app, no hay que olvidarse que además de la app en sí, hay que desarrollar los scripts de comunicación entre la app y la base de datos (webservices, servicio REST), e incluso si no se dispone de uno, hay que desarrollar también un gestor de contenidos para manejar los datos que utilizará la app.
Todo esto se puede sustituir por servicios de terceros como Firebase, aunque la mayoría son de pago.

Las notificaciones Push

Esta característica es la más demandada y también la más típica en aplicaciones moviles. Se puede optar por desarrollarla "desde cero" para integrarla en la app, pero yo recomiendo usar servicios de terceros como One Signal, que proporcionan un entorno de gestión excelente para hacer tests, campañas, etc...


Para ver mis tarifas en este tipo de proyectos, entra en la página de tarifas.