Una aplicación móvil de este tipo debe tener un servidor. Supongo que ya tiene un backend desarrollado para la mayoría de las funciones que ha mencionado.
Para el cliente móvil, hay una ola actual de desarrollo: “desarrollar una vez e implementar en todos”. Javascript se está volviendo fuerte, principalmente debido a Node.js. Sin embargo, hay plataformas como Meteor, React Native, etc., que debes considerar. Le permiten desarrollar soluciones para diferentes plataformas (iOS, Android, etc.) simultáneamente, utilizando JS.
Debo aclarar que las otras respuestas son correctas, Swift / Objective C es el idioma nativo de iOS y Java es el de Android. Sin embargo, las plataformas que menciono lo ayudan a que pueda codificar una vez, y las aplicaciones se compilan para cada una de las plataformas de forma independiente.
- ¿Cómo podría un operador de telefonía móvil evitar que me conecte?
- ¿Vale la pena usar jiofi?
- Cómo descubrir que un nuevo teléfono inteligente está rooteado
- ¿Cuáles son las próximas tecnologías en teléfonos móviles?
- ¿Qué teléfonos móviles has usado en el pasado? ¡Las fotos serían geniales!
Su pregunta parece que está buscando aprender algo nuevo en la escena de desarrollo móvil. Sugeriría investigar un poco sobre este tipo de plataformas y probarlas.