El desarrollo de aplicaciones no consiste únicamente en planificar un listado de funcionalidades,  también implica ciertas decisiones a nivel tecnológico como el lenguaje de programación o el tipo de servidor. Hoy nos centramos en un punto anterior incluso a estos ejemplos: ¿Mi proyecto debería ser una App o una aplicación web? ¿Qué diferencia hay entre ambas? La alternativa escogida tendrá grandes implicaciones no solo a nivel de desarrollo, sino también de cara al usuario final.

Diferencias entre App y Aplicación web

Probablemente el término más extendido a día de hoy sea el de App, el nombre que asociamos a las aplicaciones móviles. Este tipo de aplicaciones tiene que ser instalada en un dispositivo y por lo tanto, en general, dependen de una Store. Estamos hablando de cualquier aplicación que pudieras encontrar en Play Store o Apple Store y que primero se descargan y después instalan en el dispositivo, lo que implica que ocuparán espacio en el almacenamiento.

Una aplicación web por el contrario no requiere de instalación previa, sino que podemos usarla a través del navegador al igual que cualquier otra página web. Como contrapartida, al no estar instalada en el dispositivo no tienen un acceso directo en el escritorio y no la encontrarás en una Store.

Aunque esta es una clasificación general existe una opción intermedia, las aplicaciones conocidas como PWA. Este tipo de aplicación tiene algunas características de las Apps y otras de las aplicaciones móviles, por ejemplo, pueden tener un acceso directo en el escritorio sin necesidad de pasar por una Store. En esta entrada no vamos a profundizar en las PWA, aunque puedes informarte mejor sober ellas en nuestra comparativa de aplicaciones.

A continuación analizamos algunos factores a tener en cuenta a la hora de decidir entre un desarrollo como App o Aplicación web.

Frecuencia de uso

Una gran ventaja de las Apps móviles es la facilidad de acceso a la aplicación a través de un acceso directo en el escritorio de tu dispositivo o una búsqueda en una Store. Realmente esta facilidad es una ventaja cuando esperamos que los usuarios accedan a la aplicación de forma recurrente, ya que puede llegar a ser incómodo si tu aplicación es de un solo uso.

Como usuario es más probable que estés dispuesto a descargar una aplicación si piensas usarla con frecuencia. Si la app es de un solo uso, como por ejemplo pedir un presupuesto, tal vez se te quiten las ganas de descargarla simplemente por no dar permisos a la aplicación en mi móvil o incluso por no esperar a la instalación.

Hardware del teléfono

Si entre las funcionalidades de tu proyecto se contempla usar la cámara o el micrófono del móvil, tal vez sea mejor pensar en una App. Independientemente de la complejidad técnica para implementarlas, los usuarios están más acostumbrados a usar este tipo de funcionalidades a través de una aplicación instalada. Además, a nivel de rendimiento es probable que una App pueda hacer un mejor papel.

Lenguajes de programación para aplicaciones

Al instalarse en dispositivos con diferentes sistemas operativos, las Apps tienen restricciones en cuanto a los lenguajes de programación que pueden usar. A grandes rasgos las Apps pueden clasificarse en base a su lenguaje de programación como:

  • Nativas: Con lenguaje específico de cada sistema operativo (iOS, Android)
  • Híbridas: Basadas en lenguajes de programación web y exportadas luego a los lenguajes nativos.

Las aplicaciones nativas implican una mayor complejidad de mantenimiento y desarrollo, en el sentido de que trabajamos a todos los efectos con dos aplicaciones distintas. Esto implica que integrar una funcionalidad nueva es un desarrollo independiente para cada versión.

Las aplicaciones híbridas por otra parte se basan en lenguajes de programación web y ofrecen ciertas facilidades a la hora de tener una aplicación web y una app móvil en un único desarrollo. En este caso el planteamiento es tener un único desarrollo que podemos exportar a lenguajes Android o iOS en caso de ser necesario. Desde luego en este sentido las aplicaciones web ofrece una mayor flexibilidad, aunque entrañan sus propias dificultades. Te dejo más información sobre este punto en el artículo sobre comparativa de aplicaciones que hicimos.

Dependencia de las Store

Las Store ofrecen grandes ventajas a las aplicaciones que están dirigidas a un público muy amplio. Por una parte todos estamos obligados a usar una Store para gestionar las aplicaciones de nuestro móvil, lo que implica que potencialmente veremos novedades o buscaremos aplicaciones para descargar en algún momento. Por otra, cada Store tiene su propio sistema de posicionamiento en las búsquedas y puede trabajarse a través del ASO (App Store Optimization, el SEO de las aplicaciones móviles). Si tu aplicación tiene una función concreta (Linterna, ejercicios para perder peso, cronómetro…) o puede sacar partido al hecho de aparecer en las sugerencias (Como los juegos) esta faceta puede ser muy interesante.

Sin embargo las aplicaciones con un público reducido o muy específicico no aprovechan tanto la oportunidad de aparecer en las búsquedas o sugerencias.  Hablamos de Apps exclusivas para clientes, sistemas de gestión de puntos… En este caso sería planteable no publicar la aplicación en una Store para evitar sus restricciones, ya que encontraremos problemas como:

  • Aunque no es demasiado elevado, publicar aplicaciones tiene un coste. 25$ en un único pago en el caso de Play Store y 99$ anuales en el caso de Apple Store.
  • Cada Store tiene sus normas a la hora de publicar una aplicación y tendremos que adaptarnos durante el desarrollo. Estas normas cubren el tipo de contenido de la app, qué plataformas de pago usan y en algunos casos hasta la estética.
  • Cuando se llevan a cabo actualizaciones en una app subida a una Store, la actualización no se publica hasta que no pasa por una revisión. En el caso de Apple Store, las revisiones pueden ser bastante exigentes, mientras que las de Play Store suelen ser más permisivas.

Conclusión

Como puedes observar, existen unas cuantas diferencias entre app y aplicación web a tener en cuenta. Esto implica decisiones bastante críticas, ya que marcarán el desarrollo durante los próximos meses