¿Qué marcos e idiomas se usaron para desarrollar las siguientes aplicaciones (full stack) y por qué: 1) WhatsApp 2) Viber?

Dio una respuesta a una pregunta similar ayer:

La aplicación de mensajería como WhatsApp generalmente necesita tener funciones como esta implementadas:

  • Mensajería instantánea
  • Chats grupales
  • Voz y videollamadas
  • Compartir ubicación
  • Envío de multimedia (video e imágenes)
  • Notificaciones
  • Integración de redes sociales

Se requerirá cierto conocimiento en lo siguiente:

  • FreeBSD como sistema operativo de la aplicación,
  • Mnesia como la base de datos
  • YAWS como servidor web (también de Erlang)
  • Obective-C / Java / C # para desarrollo nativo

Y estos para el desarrollo de backend:

  • Mnesia DB, MySQL, PostgreSQL como adaptadores de bases de datos
  • Servidor de aplicaciones XMPP para implementar y mantener llamadas de voz, videollamadas, mensajería
  • API de descanso para enviar solicitudes desde la interfaz de usuario a la aplicación para obtener, publicar o eliminar datos
  • GCM o FCM para notificaciones en la aplicación

Así es como se ve un esquema similar a WhatsApp:

¡Espero que esto ayude!
También tenga en cuenta esto: cuánto cuesta hacer una aplicación como WhatsApp con Desctiption

Mejor,
Jennifer

Whatsapp usa el lenguaje de programación Erlang.
La lista de tecnologías utilizadas por WhatsApp es la siguiente:

  1. OS: freeBSD
  2. Servidor: guiñada
  3. Aplicación de servidor: ejabberd personalizado
  4. Idioma: erlang
  5. Tecnología: XMPP personalizada
  6. PHP para web
  7. Base de datos: mnesia
  8. Cifrado: RC4

Para WhatsApp: –

Se utilizaron los siguientes lenguajes: c, c ++, Java, Erlang, php

Admiten las siguientes plataformas:

Erlang es un lenguaje de programación que se utiliza para construir sistemas de software en tiempo real suaves y escalables con requisitos de alta disponibilidad.

FreeBSD es un sistema operativo informático avanzado que se utiliza para alimentar servidores modernos, escritorios y plataformas integradas.

jqGrid es un control JavaScript habilitado para Ajax que proporciona soluciones para representar y manipular datos tabulares en la web.

libphonenumber es la biblioteca común de Google Java, C ++ y Javascript para analizar, formatear, almacenar y validar números de teléfono internacionales.

LightOpenId es una biblioteca PHP 5 para una autenticación de OpenID fácil.

lighttpd es un servidor web de código abierto optimizado para entornos de alto rendimiento sin dejar de cumplir con los estándares, es seguro y flexible.

PHP es un popular lenguaje de scripting de propósito general especialmente adecuado para el desarrollo web.

yaws es un servidor web HTTP de alto rendimiento 1.1 especialmente adecuado para aplicaciones web de contenido dinámico.

More Interesting

¿Cómo puedo encontrar clientes para mi nueva empresa de desarrollo de software?

¿Cuál es la diferencia entre ingenieros de software, científicos de datos e investigadores cuantitativos en Two Sigma?

¿Qué herramientas utilizó Mark Zuckerberg para construir Facebook?

Redes de área local: ¿Es mejor crear aplicaciones en una LAN que crear un software nativo?

¿Qué lenguaje o herramientas de programación usan los programadores para hacer modelos 3D de pueblos, ciudades o países que pueden ser manipulados?

En relación con la seguridad del software, ¿cuáles son las diferencias entre la calidad del software y la confiabilidad del software?

¿Debería una compañía de tecnología dar una prueba de codificación genérica a cada solicitante antes de programar una entrevista en el sitio?

¿Por qué los ingenieros de software pagan menos en Pakistán en comparación con los Estados Unidos?

¿Qué lenguajes de programación han evolucionado a lo largo de los años y cuáles se han mantenido bastante constantes? ¿Es realmente útil la evolución?

¿Qué reglas generales debo seguir en la programación?

¿Es Erlang una buena opción de idioma para sistemas críticos de rendimiento en comparación con Scala y Go? ¿Por qué tenemos casos de, por ejemplo, Twitter migrando de RoR a Scala? ¿Podría ser porque Scala es más "amigable" cuando se trata de sintaxis?

¿Qué patrones de diseño de GoF (Gang of Four) están desactualizados?

Accesibilidad: ¿Qué tan diferente sería la tecnología informática si Apple se hubiera convertido originalmente en el sistema operativo utilizado en la gran mayoría de las computadoras domésticas en lugar de Microsoft?

¿Qué preguntas deben hacer los fundadores no técnicos al entrevistar a los desarrolladores de contratos?

¿Qué son las listas de verificación de pruebas en las pruebas de software?