¿Es posible hacer una aplicación como Snapchat usando Ionic y Cordova?

Puedes apostar, y así es como lo vas a hacer.

  1. Inicie su proyecto siguiendo la documentación de inicio de Ionic Framework.
  2. Dirígete a Agregar Firebase a tu Proyecto JavaScript | Firebase y aprende sobre Firebase y AngularFire. Específicamente, desea aprender sobre:
    1. Base de datos en tiempo real: le permite almacenar datos sobre cuentas de usuario, listas de amigos y conversaciones en curso.
    2. Solución de almacenamiento: le permite almacenar imágenes y otro contenido generado por el usuario
    3. Notificaciones de Firebase
  3. Como otros han mencionado, realice búsquedas simples en la web para encontrar complementos de Cordova que le permitan tomar y editar fotos.
  4. Ahora junte todas las piezas:
    1. Use la autenticación de Firebase para permitir que las personas inicien sesión en su aplicación con su cuenta social de su elección
    2. Almacene su perfil de usuario en la base de datos en tiempo real
    3. Permita la adición de amigos mediante búsquedas, haciendo que ingresen la identificación de sus amigos o agarrando sus contactos utilizando la API de la red social y enviando invitaciones (¿quiere que esto se vuelva viral, no?) Almacene listas de amigos en la base de datos en tiempo real .
    4. Permitir iniciar nuevas conversaciones con uno o más contactos. Almacene información sobre cada conversación en la base de datos en tiempo real:
      1. Cada conversación debe tener su propio nodo en un subárbol
      2. Cada persona debe tener punteros en su propio árbol de perfil que apunten a sus conversaciones activas en el árbol de conversación.
    5. Cuando se toma una foto, use la API de almacenamiento para cargarla y almacene una referencia en el objeto de conversación para la conversación.
      1. Use las notificaciones de Firebase (integradas en GCM) para enviar notificaciones push a todos los involucrados en la conversación que un nuevo mensaje está disponible
      2. Use las reglas del lado del servidor para agregar temporizadores de vencimiento en cada imagen, si desea ofrecer esa opción
    6. Cuando alguien abre una nueva conversación, toma la lista de imágenes en el chat desde el objeto de conversación, luego descárgalas y muéstralas en orden en las etiquetas IMG en las tarjetas (o lo que quieras) en la interfaz de usuario
    7. Cuando finaliza una conversación, elimine las imágenes de la conversación (¡el dinero es dinero!)
  5. Siéntate y ensuciate rico

¡Muy fácil!

Sí, es posible hacer aplicaciones como Snapchat usando iónico. Hay muchos complementos disponibles para acceder al componente de hardware móvil como cámara, audio y video. Consulte el enlace ngCordova – Complementos de Cordova

No deberías confiar en eso. Habrá grandes volúmenes de datos funcionales, mientras que JavaScript en Cordova tiene un solo hilo. Será una fuente de retrasos durante las interacciones con el usuario.

Si bien muchos podrían argumentar que esto es imposible, creo firmemente que puede lograr esto usando Ionic. De lo que debe preocuparse es de su Javascript. Ionic proporciona principalmente IU

¿Por qué no? … sin embargo, necesita experiencia con tecnologías del lado del servidor … como asp.net, signalR, bases de datos, etc.

Snapchat es una combinación clásica de una aplicación orientada al usuario y un servicio de back-end centrado en la base de datos. Necesita ambos, pero en el lado del teléfono puede usar Cordova.