Background

Desarrollo de apps nativas e híbridas

Diseño de apps

Hay dos tipos de desarrollos de app, que son las híbridas y nativas.

Apps híbridas

Una app híbrida es una app desarrollada en un framework que toma como base Javascript / Typescript, como Angular u otros... Por lo tanto utiliza html, css, etc.., como un desarrollo web. Pero además utiliza un interface, como Phonegap, que además de posibilitar la publicación de la app en las stores, 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 apps híbridas:

  • Desarrollos más económicos, pues 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..).

Desventajas de las apps híbridas:

  • La aplicación es algo más lenta en general que una app nativa, aunque con el avance en prestaciones de los moviles, cada vez se nota menos.
  • La comunicación con cierto hardware del móvil no es tan rápido como en las apps nativas.
  • Debido a los dos anteriores puntos, hay muchos tipos de desarrollo que es imposible hacerlos con una híbrida (juegos de acción, aplicaciones complejas con la cámara, desarrollos que sean muy complejos en general, 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 que 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 apps 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.

El API Rest

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, API 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. Usando Firebase se implementa de manera muy sencilla, y si se requiere algo más profesional, se puede usar One Signal, que proporciona 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.