¿Cuánto cuesta crear una aplicación como Uber Eats en 2021?

¿Cómo funciona una aplicación de delivery?

Muchos hemos utilizado aplicaciones de delivery para pedir algo de comida o del super, pero ¿sabes realmente cómo funciona?, la operación de una plataforma de entrega a domicilio está realmente dividido entre distintas aplicaciones, entre 3 y 4 aplicaciones dependiendo la plataforma, las cuales son:

  • Aplicación del cliente. Esta es la aplicación que utiliza la persona que quiere solicitar el producto o servicio que presta la plataforma. Requiere un registro de usuario e incluye un listado de los productos o servicios que se pueden contratar, los cuales puedes seleccionar y solicitar.
  • Aplicación del negocio o restaurante. En esta app es usada por el prestador del servicio, normalmente requiere una autorización previa por parte del administrador para validar el producto o servicio que se va a prestar.
  • Aplicación del repartidor. La aplicación es utilizada por los usuarios repartidores para recibir notificaciones cuando exista algún pedido para entregar cerca de su ubicación, mismo que es rastreado en tiempo real para poder darle seguimiento mediante la aplicación.
  • Aplicación del administrador. Desde esta aplicación se realiza la aprobación de los negocios y los repartidores, se tiene acceso a los reportes financieros, así como

¿Qué funciones son necesarias para poder crear una aplicación como Uber Eats?

El el uso diario de aplicaciones de entrega a domicilio como en el caso de Rappi o Uber Eats pareciera que no se requiere demasiada tecnología para crear una aplicación como estas, sin embargo la creación de una aplicación así requiere distintos desarrollos, integraciones y tecnología, aquí dejo los principales:

  • Registro con Redes sociales. El permitir que los usuarios inicien en tu app utilizando Facebook, Google o Apple facilita el registro y disminuye la fricción para los nuevos usuarios además disminuye la probabilidad de errores de dedo al escribir el correo electrónico o el nombre.
  • Geolocalización. Con el uso del GPS del teléfono puedes saber la ubicación del cliente, lo cual permitirá mostrarle negocios que se encuentren cerca de su ubicación además de poder expandir la aplicación a otras geografías, por ejemplo tener una misma aplicación para distintas ciudades y cada una con sus propios comercios.
  • Geolocalización en segundo plano. Una vez que se realiza un pedido requieres que la aplicación del repartidor incluya la geolocalización en segundo plano con la finalidad de que puedas ir viendo en el mapa en tiempo real dónde viene tu pedido, mejorando así la experiencia de entrega.
  • Notificaciones push. Las notificaciones son útiles en todas las aplicaciones pero especialmente cuando se requiere alertar a los usuarios de una acción a realizar, en el caso de una aplicación de entrega a domicilio son necesarias para notificar al negocio del pedido que se recibió, así como de notificar al repartidor de una nueva orden y mantener actualizado al cliente del status de la orden, es recomendable incluir un sonido largo para llamar mas la atención, sobre todo en el repartidor y en el restaurante.
  • Gráficas de reportes. Tanto el repartidor como el restaurante requieren estar consultando sus ganancias tanto del día como de la última semana, el mostrarla en gráficas ayuda a visualizar mejor la información.
  • Chat. Incluir un chat en la aplicación ayuda a mejorar la comunicación en el pedido o hacer aclaraciones sobre él mismo, por ejemplo, si se realizó un pedido de un producto y no está disponible con este pudiera negociarse un remplazo.
  • Llamada telefónica. En caso de no haber escuchado las notificaciones push de la actualización del pedido, al recibir un mensaje o al necesitar comunicarse con el repartidor, el cliente o el restaurante es necesario incluir una función para realizar llamadas telefónicas.
  • Integración con pasarelas de pagos. Una de las ventajas principales de realizar un pedido por medio de una aplicación es la facilidad de realizar el pago, ya que aparte de poder realizarlo en efectivo es posible pagar con una tarjeta bancaria, lo cual facilita mucho el proceso y si no es la primera vez que realizas el pedido además tu tarjeta pudiera estar guardada con lo que el proceso se hace aún mas sencillo. Por otro lado para el repartidor y el restaurante facilita la transacción al evitar el uso de efectivo y tener ya pagada la orden antes de comenzarla a trabajar. Existen muchas pasarelas de pago por país y es importante integrar aquella que mayores beneficios te ofrezca.
  • Manejo de sesiones de usuario. El beneficio de operar con una aplicación móvil es que al operar directamente en tu teléfono todo el tiempo tienes una sesión iniciada por lo que cada vez que quieras hacer un pedido no requieres iniciar sesión solo al abrir la aplicación esta ya cuenta con todos tus datos e incluso una forma de pago almacenada.
  • Verificación telefónica. La verificación telefónica es muy útil para evitar fraude o cuentas falsas, ya que al enviar una verificación mediante un mensaje de texto te puedes asegurar que el número exista al mismo tiempo que aseguras un canal de comunicación con el cliente.
  • Cálculo de rutas y distancias. Ya que es necesario recorrer cierta distancia entre el negocio y el cliente es importante poder estimar la ruta más optima y calcular el tiempo que se demorará así como el tráfico en cierto momento para poder determinar el costo del envío proporcionalmente.
  • Base de datos. En esta se almacenará toda la información de los productos, pedidos, ventas y en general todo dato que se muestra en cualquiera de las aplicaciones, es importante que tenga funcionalidad de tiempo real ya que así podrás por ejemplo ver los cambios en el estatus del pedido sin tener que recargar la aplicación.
  • Almacenamiento de imágenes. Debes considerar que hay muchas imágenes que se deberán almacenar en un servidor para que la aplicación funcione, desde logotipos de los negocios, imágenes de los productos, imágenes del perfil de cada uno de los usuarios así como algunos gráficos de promociones entre otros.

Lo anterior acompañado de funcionalidades básicas como funciones de navegación, operaciones aritméticas, lógica y un diseño intuitivo harán posible que ofrezcas una experiencia de operación muy buena a los usuarios que la utilicen.

¿Qué tecnologías existen para desarrollar una aplicación tipo Uber Eats?

En el desarrollo de aplicaciones el costo depende principalmente de dos factores, el conocimiento necesario para poder desarrollar las funcionalidades y diseño y el tiempo que se demore en llevarlas a cabo. Por lo tanto considerando lo anterior y teniendo una consideración general de cómo es que está estructurada una aplicación tipo Uber Eats y las funcionalidades necesarias para que esta opere es necesario estimar los tiempos de desarrollo de cada una de estas funcionalidades.Existen varias formas de desarrollar cada una de las funcionalidades antes descritas, dependiendo de la tecnología que se quiera utilizar, las aplicaciones móviles se pueden clasificar en 4 grupos dependiendo de la tecnología que se utilice para su desarrollo:

  • Aplicaciones Web. Este tipo de aplicaciones funcionan únicamente dentro de un navegador de internet como Chrome o Safari, es decir, son páginas web con funcionalidades para poder realizar las distintas tareas.
    • Ventajas:
      • No es necesario instalar una aplicación en el teléfono, lo que disminuye la resistencia a nuevos usuarios.
      • Se actualiza inmediatamente sin necesidad que se descargue nuevamente de la tienda de apps.
      • Funciona en múltiples dispositivos, Android, IOS o en una computadora
      • Menor costo de desarrollo
    • Desventajas
      • Menor velocidad de carga de la aplicación, y mayor dependencia a la velocidad de conexión que tenga el cliente.
      • No tiene acceso a funciones nativas como la geolocalización en segundo plano
      • Al no quedarse instalada en el teléfono, se tiene una menor retención de los usuarios
  • Aplicaciones Híbridas. Estas aplicaciones son muy similares a las aplicaciones web, con la diferencia que se instalan en el teléfono, básicamente es como tener un navegador de internet que solamente abre nuestra aplicación web, aunque adicionalmente permite accedes a algunos componentes nativos
    • Ventajas
      • Acceso a componentes nativos y funciones como geolocalización en segundo plano o cámara fotográfica
      • Pueden fácilmente generarse desde una aplicación web
      • Menor costo de desarrollo
    • Desventajas
      • Velocidad de carga lenta
      • Mala experiencia de usuario ya que al instalarse se espera normalmente una aplicación nativa y en estas se tiene una experiencia muy cercana a la de una pagina web.
      • Dificultad de aprobación en la App Store, debido a la mala experiencia de usuario.
  • Aplicaciones Nativas. Estas son desarrolladas directamente en el lenguaje de cada sistema operativo, Kotlin para Android y Swift para IOS, ofreciendo experiencia mas rápida y utilizando componentes nativos del teléfono como botones e interfaces mejor integradas al sistema operativo.
    • Ventajas
      • Muy buena experiencia de usuario al utilizar componentes nativos
      • Mayor velocidad de la aplicación
      • Acceso a funcionalidades nativas del teléfono como geolocalización o cámara
    • Desventajas
      • No se puede reutilizar el código por lo que se necesitan programar por separado dos aplicaciones, una para Android y otra para IOS
      • El costo y tiempo de desarrollo tiende a ser muy largo
      • Se requieren mas programadores especializados en ambos lenguages
  • Aplicaciones Bridge. Este tipo de aplicaciones ofrecen las ventajas de ser contar con una interfaz con componentes nativos del teléfono y acceso a funciones nativas como geolocalización, pero al mismo tiempo permiten desarrollar únicamente una aplicación para ser utilizada en ambos sistemas operativos para Android e IOS.
    • Ventajas
      • Buena experiencia de usuario al utilizar componentes nativos
      • Buena velocidad de carga de la aplicación
      • Instalación desde la tienda de aplicaciones Play Store o App Store
      • Compartir el mismo desarrollo para Android y para IOS
      • Buen costo-beneficio en el desarrollo
    • Desventajas
      • Ligeramente menor rendimiento en comparación a una aplicación Nativa
      • Se requiere realizar algunas integraciones nativas para lograr ciertas funcionalidades

De los tipos mostrados anteriormente podemos concluir que si bien las aplicaciones Nativas son las que pudieran llegar a tener la mejor experiencia de usuario, debido al costo de desarrollo, y el mantenimiento, no tienden a ser la mejor opción para un desarrollo veloz, mientras que las Aplicaciones Bridge presentan la mayoría de las ventajas de las aplicaciones Nativas dando además la posibilidad de compartir el código entre las plataformas Android e IOS.

CEO de Apphive