¿Cuáles son los pasos técnicos que necesitaría tomar para codificar una aplicación como Snapchat?

He seleccionado la información que he encontrado en varios sitios. Así que aquí va. Supongo que esto ayudará.

  • Hosting – Google App Engine (GAE)
  • Lenguaje – Java y Python
  • Nube – Amazon (CloudFront, Ruta 53)

Seguramente se construirá en plataformas cruzadas, tiene más componentes para usar esta tecnología como interfaz de usuario, vista de descubrimiento, vista AddMe, vista de chat, perfil de amigo, vista de instantáneas, vista de historias, reproducción de instantáneas, vista de tablero, vista de autenticación, widgets, etc. .

También tengo una ruta rápida para crear una aplicación como Snapchat. Una solución preparada es. Contus Fly

La optimización del servidor Ejabberd ( servidor Jabber de código abierto escrito en lenguaje Erlang) usando ERLANG es la mejor manera de construir un sistema de chat que acomode grandes comunicaciones con alta sostenibilidad.

Sin embargo, lo refinaron modificando Ejabbered, desarrollando un protocolo XMPP interno, reestructuración de código, etc.

ERLANG es instantáneo en la adaptación de cambios y actualizaciones. Por lo tanto, no necesita reiniciar para inducir una nueva funcionalidad o actualización.

Su base de datos se encuentra en Mnesia y MySQL . Para una velocidad de lectura / escritura llamativa, la solución de la aplicación utiliza la base de datos Cassandra .

Mi flujo a continuación se basa en la suposición de que no eres un codificador.

Paso 1. Decide si la funcionalidad, UI y UX de tu aplicación serán 100% iguales o si serán diferentes a las de Snap Chat (SC).

Paso 2. Una vez que la pregunta uno ha sido respondida, traza un mapa de ruta de características. Puede comenzar preguntándose si desea el 100% de las funciones que SC tiene en su aplicación desde el primer día del lanzamiento de su producto o si desea descartar las funciones críticas primero y luego agregar las otras.

Paso 3. Según su respuesta al Paso 2, su proyecto puede ir en cualquier número de direcciones.

– Compre un clon: hay muchos clones disponibles. La calidad de estos clones el 99% del tiempo es altamente cuestionable. En cualquier caso, una vez que se compra el clon, pase a volver a pelar, configurar el back-end, el envío de la tienda de aplicaciones, etc.

– Constrúyalo desde cero: necesita un diseñador, un codificador móvil y un codificador de fondo (puede encontrar un “todo en uno” 🙂

Para su información, si el dinero es escaso y esta es su primera incursión en el mundo del desarrollo de productos, entonces un clon podría no ser un mal camino a seguir. Puede usarlo para probar sus teorías y posiblemente reclutar socios para ayudarlo a construir la realidad.

La mejor de las suertes
Gabe

La pila de tecnología de Snapchat no es algo disponible públicamente como WhatsApp. Sin embargo, se han publicado algunos elementos en Internet que se detallan a continuación:

  • Hosting: Snapchat está alojado en Google App Engine (GAE)
  • Lenguaje: Java y Python son los principales lenguajes de programación
  • Servidor: en la nube con Amazon, CloudFront, Route 5.

Tengo una solución para hacer lo mismo de manera diferente usando Apphitect IM Solution

La interfaz, el backend y el hardware utilizados por WhatsApp se enumeran a continuación:

Erlang : el lenguaje de programación utilizado para escribir el sistema de aplicación de chat en tiempo real

FreeBSD : sistema operativo de computadora avanzado cuidadosamente seleccionado para todo, desde computadoras de escritorio hasta dispositivos pequeños.

Guiñada : un servidor web basado en Erlang que también puede ejecutarse como un servidor web independiente

Lighttpd : otro servidor web que es altamente seguro, rápido, flexible y que cumple con los estándares del servidor web.

PHP : lenguaje de script de código abierto de uso general que mejor se adapta al desarrollo web.

XMPP : XMPP es la columna vertebral que permite enviar mensajes en tiempo real, indicadores de presencia en línea, funciones de enrutamiento XML y mucho más.

Simplemente compraría un clon (¡Scripts de clonación de aplicaciones móviles para startups!), Retocarlo, venderlo y relajarme en mi nueva villa y un Ferrari en mi garaje.

Solo que no tengo la idea correcta. 😛

Tutorial completo de iOS: crea un curso de aplicación para iPhone de mensaje autodestructivo de Treehouse. También ofrecen el enfoque de Android. La suscripción es obligatoria.

Generalmente tienes que:

1) Crear un backend que se conecte con la base de datos de los usuarios (Parse es una forma decente de hacerlo) y es responsable de la transferencia de información
2) Cree una interfaz que le permita a uno agregar usuarios, tomar fotografías, enviarlas, recibirlas y destruirlas

¿Qué lenguaje de programación debo aprender para comenzar a codificar una aplicación como Instagram o WhatsApp?

Hay algunos factores que intervienen en la creación de una aplicación de chat de imágenes impresionante. En términos de diseño centrado en el usuario (UCD), SnapChat ha hecho un producto sin igual. Se propusieron hacer una aplicación de mensajería centrada en las imágenes, y vaya, lo hicieron. Para cualquier emprendedor que busque iniciar un negocio orientado al consumidor, SnapChat debería ser uno de sus principales recursos. – Vea más en: Cómo desarrollar una aplicación de chat de imágenes en tiempo real como Snapchat – Blog de desarrollo de aplicaciones móviles, Blog de diseño de sitios web, Desarrolladores de aplicaciones

Snapchat se ejecuta en Google App Engine , que es un producto en la nube . Las fotos se guardan en la nube, pero a menudo se ven con bastante rapidez y luego se eliminan . Esto permite gastos generales de mantenimiento relativamente bajos, ya que no guardan ninguna imagen en sus servidores, o al menos no deberían.
Tenga en cuenta que se cree que esto es mucho más barato que la arquitectura más tradicional de Facebook , llamada Haystack , ya que Snapchat usa mucha menos memoria, mientras que Facebook almacena todas las imágenes en sus servidores.

BACKEND:

Creo que Node y JAVA funcionarán bien para que algo básico funcione. Es una sensación maravillosa ver que algo realmente funciona, y te coloca en una buena posición para explorar cosas nuevas, porque no tienes que explorar todas las cosas nuevas al mismo tiempo.

BASE DE DATOS:

En general, la opción predeterminada es comenzar usando exactamente una base de datos, algo de uso general con “SQL” en el nombre. Si sabe cómo usar MySQL, entonces seguramente hará un buen trabajo. Las bases de datos para propósitos especiales como Mongo son para propósitos especiales, y sus propósitos no son muy especiales.

He usado las bibliotecas Go y Python y son SUPER fáciles de usar y requieren poco o ningún conocimiento de DB.

Tal vez considere GAE como una opción, solo para darle una escala de cosas, pasé unos 30 minutos después de hacer el tutorial para configurar un cliente de chat que funcione.

¡GAE es muy escalable, Google hace todo el trabajo duro (como replicar datos, sistemas generales distribuidos, etc.) por usted!

Aquí hay un tutorial para que comiences con GAE:

https://developers.google.com/ap

COINCIDIR CON LA VELOCIDAD DE SNAPCHAT:

  • Cuando la aplicación se enfoque, haga que un hilo de fondo encuentre algunos enlaces a las historias que vienen inmediatamente después. Además, si llega al final del contenido en caché, mire hacia adelante un poco más. Posiblemente tenga algún tipo de animación visual para que las personas no puedan desplazarse hasta el final sin darle a la aplicación la oportunidad de cargar algunos datos.
  • Como sabes lo que viene después, el back-end puede mover todo el contenido a la memoria caché, donde se sentirá agradable y ágil. El hecho de que se supone que SnapChat no es persistente ayuda mucho, porque una vez que los destinatarios han visto las cosas, puedes eliminarlo de la caché (simple, ¿verdad?). Además, dado que los destinatarios no están editando la información, no tiene un problema de “coherencia” de caché.

En resumen, le pediría que construya un producto esbelto con una visión y misión para todas las características.
Como yo mismo conocí personalmente a un desarrollador que, a pesar de ser talentoso, luchó con la función de cifrado y autodestrucción para medios / texto. Aunque logró autodestruir los mensajes de cualquiera de los dos lados del cliente y no mantuvo un servidor (estaba usando Python y JAVA). No pudo construir un producto real para el mundo y ahora solo está empleado en otro lugar.

LÍNEA DE FONDO:
La buena ingeniería y la construcción de un producto real tienen una gran diferencia

Si desea intercambiar ideas sobre su gran idea de aplicación conmigo y mi equipo de desarrolladores / vendedores / diseñadores de UI y UX de kickass, envíeme un correo electrónico a [correo electrónico protegido]

¡Acabo de lanzar un curso que te enseña cómo hacerlo! Déjame saber lo que piensas : )

Aprenda Python, Meteor, AngularJS y más clonando startups reales

Puedes comprar uno con código. Solo busca en Google sobre el clon de Snapchat, estarás bien.

Aunque si planeas aprender o algo así, puedes hacerlo por tu cuenta 🙂

Desarrolladores de Ayuda Java para la Aplicación de Código.
paknot.blogspot.com
photoshoptutorial123.blogspot.com