¿Cuál es la tecnología detrás de la versión web de WhatsApp?

Atención, esta respuesta es principalmente especulativa basada en mi análisis en la web misma.

No estoy relacionado con WhatsApp de ninguna manera. Entonces, si existe otra respuesta de personas que se relacionan directamente con WhatsApp, favor de votar en su lugar. De lo contrario, si solo desea leer mi análisis, puede continuar.

Introducción

Estaba esperando que WhatsApp lanzara su versión de escritorio durante años. Hoy se lanzó como versión web y (en este momento) solo se puede acceder a través del navegador Google Chrome. La primera pregunta que surgirá es, ¿por qué tardó tanto en lanzarse la versión web?

Cuando usé WhatsApp por primera vez, noté que WhatsApp posiblemente no guardó ninguno de nuestros mensajes de chat en su servidor. Simplemente envían el mensaje directamente del remitente al receptor. Se puede inferir de la forma en que el usuario necesita hacer una copia de seguridad de su historial de chat cuando quiere cambiar de teléfono. Hay varios beneficios que WhatsApp puede obtener usando este método:

  1. WhatsApp no ​​retuvo el historial de chat del usuario, de esa manera WhatsApp puede reducir el costo del servidor
  2. WhatsApp no ​​tiene que preocuparse por la sincronización del historial de chat. Porque solo puede haber un cliente de WhatsApp por usuario, uno a la vez que (supuestamente) almacene su propio historial de chat. No es necesario sincronizar entre dispositivos. ¡Hurra!
  3. La arquitectura del sistema será bastante simple y es algo bueno porque son un equipo pequeño.

Debido a estas razones, también podemos deducir por qué WhatsApp no ​​lanzó su versión web antes.

  1. Puede considerarse sin importancia (en ese momento). WhatsApp es una startup pequeña, lo mejor es que las startups se centren en una gran característica importante que muchas características a la vez. Es por eso que ganar más usuarios (obtener los usuarios de teléfonos inteligentes tanto como sea posible) se considera más importante que el proyecto desviado en el desarrollo de la versión web.
  2. WhatsApp simplemente no tenía los historiales de chat del usuario. ¿Cómo pueden desarrollar la versión web cuando no hay datos para mostrar? El sistema debe tener acceso al teléfono del usuario y sincronizar los historiales de chat. Era complicado y tal vez no era compatible con la batería. Tal vez fue demasiado esfuerzo y costo en ese momento desarrollar esta característica.

Pero ahora, ¡desarrollaron la versión web! ¡Terminemos esta introducción y echemos un vistazo a la aplicación web!

Cómo funciona

Hay varias cosas que notamos, pero analicemos una por una.

Autenticación
Desde el primer momento que uso WhatsApp, noté que … ¡No hay un sistema de autenticación ! De acuerdo, no fue cero en absoluto, pero no ves tus cosas habituales de nombre de usuario y contraseña. Puede ser una buena cosa, es menos complicado iniciar sesión. WhatsApp vincula la cuenta de usuario con el número de teléfono que está utilizando. Un número de teléfono por usuario. El número de teléfono en sí es el identificador único. ¿Qué tal la contraseña? No es necesario, porque estará afiliado físicamente con el número de teléfono. Si el sms te llega, entonces debes ser el usuario, así de simple.

Entonces, ¿cómo protege WhatsApp la comunicación entre su servidor y el teléfono? Usan cifrado de extremo a extremo (preguntas frecuentes desprotegidas: ¿Mis mensajes son seguros?). Esto significa que su teléfono codifica primero su mensaje y luego lo envía al servidor de WhatsApp. Luego, el servidor cifra las respuestas y las envía de vuelta a su teléfono. Su teléfono descifró el mensaje y lo mostró en la pantalla. ¿Cómo ocurre este cifrado? Bueno, si estudias Criptografía, se puede deducir que para que ocurra una comunicación segura, el teléfono y el servidor deberían poder descifrar o cifrar el mensaje. Por lo tanto, necesitan intercambiar fichas. El primer token intercambiado debe ocurrir en el momento en que autentica su cliente de WhatsApp en el teléfono por primera vez (esa vez cuando WhatsApp envía un número de 4 dígitos para su verificación). Eso significa que su teléfono tiene el token para cifrar / descifrar mensajes del servidor de WhatsApp relacionados con su número de teléfono.

Eso es suficiente para el teléfono. Entonces, ¿cómo sabe el cliente web de WhatsApp con qué usuario se relacionan? Después de todo, ¿no hay autenticación de contraseña de usuario en primer lugar? La respuesta es, ¡quien debe autenticar / presentar la identidad del usuario es el teléfono que tenía! Porque su teléfono sabe qué número de teléfono está utilizando y también tiene el token que demuestra su identidad.

Probablemente se esté preguntando por qué el cliente web mostró el código QR en lugar del campo de texto para ingresar su número de teléfono. Bueno, porque era más ordenado y menos complicado. Déjame explicarte cómo funciona esto probablemente. Primero, observe que teníamos al menos 3 entidades diferentes en este esquema de autenticación. El primero es el cliente de WhatsApp en su teléfono inteligente (aplicación WhatsApp, sin juego de palabras). Luego, el cliente web de WhatsApp que abriste en la pestaña de tu navegador. El último es, por supuesto, el servidor de WhatsApp en algún lugar de Internet.

1. El cliente web muestra el código QR.

Este código en realidad contiene un token para identificar de forma exclusiva a su cliente web (la pestaña del navegador que utiliza). Para evitar confusiones, llamémoslo WebId. El cliente web solicita continuamente permiso para un determinado WebId al servidor de WhatsApp. Pero, el servidor de WhatsApp lo rechaza. Por qué, porque todavía no está autenticado por el teléfono que tenía.

2. El cliente del teléfono (su aplicación WhatsApp en su teléfono inteligente) lee el código QR

El cliente del teléfono leyó el código QR que contiene el WebId de su teléfono y quizás algún token de autenticación. Después de eso, el teléfono intenta autenticarse (dar permiso) para ese determinado WebId. O, en un lenguaje más amigable para los humanos, el cliente del teléfono le dice al servidor de WhatsApp que este cierto WebId puede acceder a cierta cuenta de WhatsApp.

3. El cliente web solicita acceso al servidor de WhatsApp

Ahora, el cliente del teléfono ya autentica este cierto WebId. El cliente web que solicita acceso al servidor de WhatsApp ahora puede continuar. ¡Ahora el cliente web muestra su cuenta de WhatsApp! ¿Cómo sabe el cliente web qué número de teléfono usa? Bueno, el cliente del teléfono también le dice su número de teléfono / cuenta / identidad al servidor de WhatsApp cuando autentica el WebId.

Así es como básicamente funciona la autenticación. ¡Fue muy bueno porque no tienes que ingresar tu número de teléfono! O escribiendo una contraseña. Su teléfono que tenía básicamente autentica su identidad, más o menos como una tarjeta de identidad.

Comunicación
Anteriormente mencioné que todo el historial de chat se almacena en su teléfono. Entonces, ¿cómo muestra el cliente web el historial de chat? ¡Sí, el cliente web está solicitando los datos a su teléfono! Bueno, a través del servidor de WhatsApp. Entonces, la solicitud del cliente web al servidor de WhatsApp, la solicitud del servidor de WhatsApp a su teléfono. ¿Cómo puede pasar esto? Cuando miré al cliente web, inmediatamente depuré la solicitud de red a través de Chrome Dev Tools. Estoy bastante sorprendido de que no tenga solicitudes AJAX en absoluto. Eso significa que el cliente web usa Web Socket para comunicarse con el servidor. Si vuelve a cargar el cliente web mientras abre Dev Tools, puede ver los registros de solicitud de socket web.

Web Socket
Entonces, ¿por qué Web Socket? ¿Qué es el Web Socket? Puede pensar en Web Socket como un AJAX más avanzado. Se especificó bajo la especificación HTML 5, que los navegadores modernos deberían admitir (pero no existen en los navegadores heredados). Como ya habrá escuchado, el borrador de especificaciones HTML 5 se finalizó recientemente el 28 de octubre de 2014 (consulte la especificación HTML5 finalizada, continúa la disputa sobre las especificaciones). Esta especificación solo sirve como guía para que otros desarrolladores de navegadores puedan seguir este estándar. Ya sabes, por lo que la web funcionará de la misma manera en todos los navegadores. El socket web permite la comunicación / interacción bidireccional entre el cliente web y el servidor web. Quizás, WhatsApp elija esto para permitir una comunicación más en tiempo real entre el cliente web y el cliente del teléfono. También hay (tal vez) alguna caída al usar el socket web.

1. La comunicación en tiempo real significa más recursos intensivos. Es por eso que WhatsApp solo permite que un cliente web esté activo a la vez.

2. El teléfono estaría conectado activamente al servidor de WhatsApp. Quizás eso implicaría más batería consumida y más tráfico de datos consumido. Es por eso que WhatsApp sugiere usar una conexión Wi Fi.

Conclusión
Creo que eso cubre más o menos la tecnología detrás de esto. Por supuesto, solo se basa en un análisis personal. Las personas que participan en el proyecto pueden transmitir mayores detalles. Para finalizar la explicación, hay varias conclusiones basadas en el análisis. Por supuesto, dado que solo se basó en el análisis, también puede estar equivocado.

WhatsApp no ​​lanzó la versión del cliente web hasta hace poco porque desarrollarla se considera de baja prioridad. Hay varias razones, por ejemplo, la naturaleza distribuida de dónde se almacena el historial de chat, la prioridad establecida por los ejecutivos de la startup y la madurez de la tecnología HTML 5.

Si echamos un vistazo a los eventos recientes de tecnología, entonces sabemos que la mayoría de las razones se eliminan, por lo tanto, pueden lanzar la versión del cliente web.

1. WhatsApp ahora es más capaz de manejar otro producto separado, como el cliente web. Sabíamos esto: Facebook cierra el acuerdo de WhatsApp por $ 19 mil millones. Ahora tienen el capital y los recursos para manejar esto.

2. En realidad, muchos usuarios esperan usar WhatsApp en el escritorio. Podemos ver las respuestas del mercado al observar cuán populares son las soluciones alternativas de los usuarios para habilitar WhatsApp en el escritorio, como el uso de Bluestack. Ahora, desarrollar un cliente web también es una prioridad para eliminar a un competidor potencial. (Consulte también esto: Usuarios prohibidos de Whatsapp por usar la aplicación WhatsApp PLUS)

3. HTML 5 está muy maduro ahora. La tecnología para permitir que WhatsApp sincronice su historial de chat con su homólogo telefónico es mucho más estable desde que se finalizó HTML 5. Esto explica por qué solo admiten Chrome por ahora. Si la implementación de HTML 5 entre navegadores gana más estabilidad, el otro navegador seguirá. Creo que solo quieren centrarse primero en un navegador y ver cómo reaccionan los usuarios.

FreeBSD y Erlang – pila de tecnología backend.

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 el sistema operativo Unix en el que se ejecuta su servidor.

Una cosa importante a tener en cuenta es que Whatsapp no almacena sus mensajes en su servidor. (Si lo hubieran hecho, imaginen cuán enormes centros de datos habrían necesitado)
Por lo tanto, crear el cliente web para WhatsApp fue la parte difícil, dado que no puede sondear los mensajes directamente desde los servidores.

Cuando recibe un mensaje, primero se entrega a su teléfono. Cada cuenta de WhatsApp tiene una identificación única, que se envía de forma segura a la URL que obtiene del código QR del cliente web. Luego, el cliente web sondea su móvil en busca de mensajes de vez en cuando. Por lo tanto, para usar el cliente web, su teléfono inteligente debe estar conectado a Internet.

Para esta limitación, Whatsapp aconseja a los usuarios que usen una conexión wifi cuando usen el cliente web.

BACKEND

  1. OS: freeBSD
  2. Servidor: guiñada
  3. Aplicación de servidor: ejabberd personalizado
  4. Idioma: erlang
  5. Tecnología: XMPP personalizada
  6. PHP en algún lugar en el medio para transacciones de usuarios de servidor que no son stream (al menos el sitio web usa WordPress 🙂)
  7. Base de datos: mnesia
  8. Cifrado: RC4

Detalles del sistema @: erlang-factory.com/upload/presentations/558/efsf2012-whatsapp-scaling.pdf

Mis observaciones están en mi blog:
Rompiendo abierto https://web.whatsapp.com/

Los extractos del blog son:

Primero permítanme enumerar los marcos que han usado para crear esta aplicación:

  1. React.js: UNA BIBLIOTECA JAVASCRIPT PARA CONSTRUIR INTERFACES DE USUARIO de Facebook.
  2. Underscore.js: Unerscore es una biblioteca de JavaScript que proporciona un montón de útiles ayudantes de programación funcional sin extender ningún objeto incorporado. Es la respuesta a la pregunta: “Si me siento frente a una página HTML en blanco, y quiero comenzar a ser productivo de inmediato, ¿qué necesito?” … y el lazo para combinar con el esmoquin de jQuery y los tirantes de Backbone.
  3. Velocity.js: Velocity es un motor de animación con la misma API que jQuery’s $ .animate (). Funciona con y sin jQuery. Es increíblemente rápido y presenta animación en color, transformaciones, bucles, flexibilidades, soporte SVG y desplazamiento. Es la mejor combinación de transiciones jQuery y CSS.

Estas son las piezas principales. Han estado utilizando Websockets seguros para comunicarse con su teléfono a través del servidor. Me pregunto por qué no usaron el dataChannel de webrtc allí. Hmmm cuando hago esta pregunta, la respuesta se hizo clara, porque solo Android lo habría admitido.

Están utilizando la Api de FileSystem de Chrome que hace que su aplicación sea específica de Chrome. En este caso, incluso los canales de datos podrían haberse utilizado, ya que niega el argumento anterior. Creo que la razón para no usar el canal de datos basado en WebRtc es evitar la dificultad de configurar la conexión inicial, que los sockets web resuelven colocando un servidor en el medio.

Parecen estar usando los principios de Google Material Design.

Entonces, veo que han modificado la forma de XMPP presente en el protocolo de chat y están reenviando las estrofas que el teléfono recibe al cliente web. Por lo tanto, para usar el teléfono del cliente web debe estar encendido y funcionando. Y cada comunicación que ocurre en el cliente web en realidad iría a través de su teléfono. Por lo tanto, webclient es solo una interfaz de usuario proxy para su teléfono.

¿Qué significa esto?

  • Más transferencia de datos por teléfono. Verifica tu uso de datos.
  • Más consumo de batería debido a la transferencia de datos.

Aunque el cliente web de WhatsApp nos hace la vida más fácil, tiene un costo.

Para explicar el esquema de trabajo detrás de Whatsapp web, tomemos tres nodos como ejemplos: Whatsapp web, Whatsapp mobile app y Whatsapp Server.

La autenticación se produce cuando la aplicación móvil escanea el código QR que muestra Whatsapp web. Aquí es donde la aplicación móvil de Whatsapp solicita al servidor de Whatsapp que indica que la identificación web de Whatsapp en particular pertenece al usuario de la cuenta de Whatsapp.

Entonces, el servidor de Whatsapp autentica las solicitudes y la sincronización ocurre entre la web de Whatsapp y la aplicación, estableciendo una comunicación bidireccional usando HTML5 WebSockets

Explicación de detalles de Whatsapp y Whatsapp Web Stack

WhatsApp usa Erlang para el backend ( http://en.m.wikipedia.org/wiki/E … y XMPP como protocolo de comunicación.

Erlang es un lenguaje funcional, fue diseñado originalmente por Ericsson a mediados de los 80 para ser utilizado para interruptores telefónicos. La filosofía de diseño principal detrás de Erlang era la alta concurrencia y la tolerancia a fallas. Que los sistemas pueden fallar, y fallará, y el enfoque correcto es evitar la interrupción en la medida de lo posible, mientras que interfiere con los otros subsistemas lo menos posible. Recuerdo haber leído que el equipo detrás de WhatsApp quería que fuera “como un tono de llamada”. Siempre encendido y confiable.

XMPP ( http://en.m.wikipedia.org/wiki/XMPP ) es un protocolo abierto destinado a la comunicación bidireccional ligera en tiempo real. Actualmente es el estándar de oro en las aplicaciones de chat. Gtalk usa XMPP por ejemplo.

En esencia, utilizaron tecnología que hace que su aplicación sea distribuida, en tiempo real y siempre en funcionamiento. Claramente, han logrado ese objetivo.

Si va a crear una aplicación de mensajería como WhatsApp, debe hacer lo siguiente:

  1. Decida una plataforma en la que comenzará el desarrollo. Digamos que eliges Android.
  2. En Android, este tipo de mensajes se logra utilizando el GCM, es decir, Google Cloud Messenger.
  3. Crea una aplicación de mensajería de demostración con el GCM. Si funciona con fluidez, estudie la arquitectura del GCM y cree un marco de servidor que estará dedicado a su aplicación. Puedes hacer esto usando IaaS.

Se trataba del desarrollo de la aplicación, ahora si desea ganar dinero con ella, primero debe publicar esto en la tienda de juegos de Android. Luego, cree una aplicación similar en otras plataformas como iOS y Windows. Entonces necesitas una buena publicidad. Google AdSense puede proporcionarle esto. Su aplicación puede ser una aplicación paga. Una vez que el mercado acepte la aplicación, se extenderá como el fuego mismo.

Aquí sus inversiones iniciales estarán en

  1. Desarrollo
  2. AdSense
  3. Cargos de Play Store

Si lleva la aplicación a gran escala antes que GCM, entonces debe contabilizar los cargos por servicio de IaaS.

Espero que ayude y que crees una aplicación exitosa. Gracias por el A2A.

Editar: puede usar GCM para la interacción con otros dispositivos Android y no para la mensajería real. Pero te dará la idea del desarrollo.

WhatsApp es una aplicación de mensajería en tiempo real, que utiliza el servidor Ejabberd (XMPP) . Este servidor facilita la transferencia de mensajes instantáneos entre dos o muchos usuarios en cualquier segundo. ERLANG es el lenguaje de programación utilizado por WhatsApp. Ejabberd es un servidor Jabber de código abierto escrito en lenguaje Erlang. Erlang también ayuda al adaptarse rápidamente a actualizaciones instantáneas y correcciones urgentes. Para la gestión de bases de datos Mnesia DB ..
puede obtener información completa aquí: estructura técnica de Whatsapp

Como mencionó Chad Selph, parecen estar usando Erlang y FreeBSD en el backend.

Uno de sus ingenieros principales dio una extensa charla en Erlang Factory [1] sobre cómo lograron escalar hasta más de un millón de conexiones en una sola caja. Involucraba muchos ajustes en el nivel de FreeBSD, parches personalizados para BEAM y mejoras en el código de su aplicación Erlang. Es una charla interesante (los videos / diapositivas están disponibles en el sitio web).

[1] – http://www.erlang-factory.com/co

Para comprender el esquema inteligente fabricado detrás de la versión web de Whatsapp, analicemos tres nodos.

  • Whatsapp web
  • Aplicación móvil de Whatsapp
  • Servidor Whatsapp

Para empezar, la autenticación para la versión web ocurre cuando el código QR que muestra Whatsapp web se escanea a través de la versión de la aplicación móvil. Aquí la aplicación móvil solicita al servidor que informe que la aplicación móvil particular (ID de Whatsapp) pertenece al usuario de la cuenta de Whatsapp.

Ahora, el servidor hace el trabajo de sincronizar la aplicación web y móvil de Whatsapp, después de autenticar la solicitud. Ahora se establecerá una comunicación bidireccional entre las versiones web y móvil utilizando HTML5 WebSockets .

Tenga una idea para crear aplicaciones como WhatsApp, visite Apphitect IM Solution

Whatsapp usa el lenguaje de programación Erlang.
El lenguaje de programación Erlang fue desarrollado por el gigante de las telecomunicaciones llamado Ericsson
Aquí está la lista de tecnologías que usan

  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

A envía un mensaje a B usando su dispositivo móvil. Su mensaje tarda un tiempo en llegar a la base de datos y se almacena allí. Tan pronto como el mensaje se almacena correctamente, devuelve una señal o indicador (un valor) que indica al dispositivo móvil del remitente que el mensaje se guardó correctamente. Desde el punto de presionar ENVIAR en su dispositivo hasta el punto en que su dispositivo recibe un mensaje de señal “almacenado con éxito” de la base de datos de WhatsApp, su aplicación WhatsApp que está en su máquina local (móvil) le muestra un símbolo de reloj. (pendiente) Al leer el mensaje “almacenado con éxito”, su aplicación de WhatsApp cambia su símbolo a una sola marca que indica que su mensaje ha sido enviado. Ahora el servidor de WhatsApp envía este mensaje al dispositivo de su amigo B. Tan pronto como B recibe el mensaje, devuelve el mensaje “Entendido” al servidor de WhatsApp. Ahora el servidor de WhatsApp envía a su dispositivo (A) un mensaje “¡Lo consiguió!” , tan pronto como su dispositivo escuche esas palabras, cambiará su símbolo de estado de ‘reloj’ (pendiente) a una marca de verificación doble (enviada y recibida). Ahora, tan pronto como su amigo toque el área del cuadro de texto (área donde escribe el mensaje. O toque el área de notificación para acceder a la pantalla donde puede escribir, su dispositivo (B) envía un mensaje al servidor de WhatsApp diciendo “Mensaje visto”. WhatsApp el servidor envía a A un mensaje de señal diciéndole que cambie su símbolo de estado de marcas dobles a marcas dobles de color azul

nota: no es mi respuesta, copiada de la respuesta de otra persona

Básicamente, qué aplicación usa el protocolo xmpp por su característica de mensajería rápida y utiliza jabber (servidor escrito en Erlang) para manejar sus clientes y el flujo de mensajes.

Parece que básicamente han creado una API que usan para su aplicación y servicio web

Por lo tanto, no importa si se trata de una versión web o de la versión de la aplicación. Cada vez que se realizan cambios desde cualquiera de los métodos, actualiza la base de datos y la aplicación lo notifica a través de su mecanismo de notificación. No ocurre conflicto

Espero que ayude 🙂

Cómo WhatsApp creció a casi 500 millones de usuarios, 11,000 núcleos y 70 millones de mensajes por segundo – Alta escalabilidad –

Actúa como un espejo del whatsapp de su teléfono, pero también tiene la capacidad adicional de enviar mensajes, y no solo para leer los viejos. Esto funciona haciendo ping a los mensajes de WhatsApp del teléfono regularmente y actualizándolos en la versión web. Por lo tanto, en conexiones lentas es un poco lento, también utiliza muchísimos datos . Es útil cuando al final del día eres demasiado vago para escribir en el teléfono, o cuando se están llevando a cabo muchas conversaciones al mismo tiempo, entonces escribir en un teclado real es mucho mejor que eso en la pantalla de un teléfono.

Fuente: Experiencia personal y Web de WhatsApp – Blog de WhatsApp

He tenido muy mala suerte con este atuendo. Están ubicados en Mumbai, India. Su producto, alojado en su servidor (por el $$ extra, por supuesto) ha caído más de lo que está funcionando, por un tiempo estuvo duplicando mis publicaciones. Luego, su sitio web arrojó errores MySQL (alojados en SU ​​servidor). Les envío un correo electrónico para que lo arreglen y me dicen que sus servidores se están manteniendo actualmente o alguna otra excusa.

En las últimas dos semanas les envié 16 correos electrónicos porque la aplicación no funcionaba correctamente.

Siguen diciéndome que han solucionado el problema, y ​​luego vuelve a caer. Literalmente, he pasado más tiempo escribiendo correos electrónicos sobre su producto que copiando y pegando publicaciones en mis publicaciones de Facebook.

La documentación de soporte de su producto es un galimatías, y el usuario promedio de Facebook nunca podría configurar o usar su secuencia de comandos sin contratar escritores de códigos profesionales para revisar su código.

Hasta ahora, el producto NO ha funcionado como se anuncia, y su soporte es lento, y no responde al asombro real que tengo con su producto: no recibo lo que pagué por la nariz.

Tan pronto como pueda encontrar un producto diferente de un proveedor diferente que FUNCIONE, no dudaré.

Whatsapp usa el Erlang (lenguaje de programación).
Lista de tecnologías utilizadas por WhatsApp:

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

Una aplicación interesante y silenciosa, pero no es tan confiable porque a veces es ilegal porque estás actuando como espía de esta aplicación y estás vigilando a alguien.

Con esta aplicación, puede monitorear obviamente, por lo que si algún cuerpo quiere ser travieso, puede hacer uso de WhatsDog.

  1. Puede ser de empleador a empleado.
  2. De padres a hijos.
  3. Amiga de novio o viceversa.

Y obtenga una idea más clara de qué tipo de aplicaciones puede contactar con Zingbytes IT Solutions

como puedes visitar Inicio.

Los desarrolladores de la compañía son muy inteligentes en la fabricación de aplicaciones inteligentes.

porque están trabajando en ese tipo de aplicaciones.

Según mi observación sobre las solicitudes de red, es solo una simple conexión websocket que se ejecuta en un puerto en el escritorio y el mismo puerto se informa a la aplicación móvil a través del escaneo del código QR.

Whatsapp se creó con Erlang , un lenguaje de programación que tiene su origen en los años 80. Erlang es un lenguaje funcional con evaluación entusiasta, evaluación única y escritura dinámica que lo hace ideal para aplicaciones como WhatsApp y muchas más.

Puede ser así … Cuando escanea el código QR usando su aplicación de WhatsApp en el móvil, lee el código y envía los datos de su perfil a la instancia del navegador web donde se abre ese código QR en particular. Entonces, cuando escanee el código QR, se mostrarán sus datos de perfil y podrá comenzar a usar la versión web.

More Interesting

¿Para qué aplicaciones es más adecuado el Apache Camel?

¿Por qué algunas aplicaciones web grandes no están diseñadas para responder (Facebook, LinkedIn, Pinterest, Quora, etc.)?

¿Cuáles son las buenas aplicaciones para Android que debo usar?

¿Cuál es la mejor manera de crear un portal web de administrador / moderador para una aplicación móvil nativa con funciones sociales como Instagram? ¿Debería estar escrito en Django si el backend es Parse? ¿Qué tipo de ingeniero construiría tal sitio web?

¿Qué aplicación web te ayuda a ahorrar tiempo?

¿Cuáles son algunas aplicaciones menos conocidas y nuevas empresas basadas en sitios web que vale la pena conocer en 2015?

¿Existe una documentación similar a un plan en el que se debe basar la codificación de una aplicación web?

¿Cuánto costaría construir una aplicación de red social Android moderadamente compleja más parecida a las que tienen los sitios de citas en línea como Plentyoffish, Match, etc., pero no a su escala, solo algo para probar en uno o dos campus universitarios?

¿Hay algún sitio web / aplicación de asesoramiento en línea disponible?

¿Instagram o Facebook es una aplicación móvil o una aplicación web?

Google se está centrando en aplicaciones web progresivas. Entonces, ¿cuál es el alcance de los desarrolladores de aplicaciones nativas (de fondo Java) como yo?

¿Qué tecnología puedo usar para crear una aplicación web e híbrida en tiempo real?

¿Hay alguna aplicación para ayudar a entrenar a pensar más rápido?

Si los marcos de aplicaciones web pueden reducirse en dispositivos móviles, ¿es posible que las aplicaciones móviles sean menos importantes en el futuro?

¿Cuáles son las aplicaciones híbridas más famosas de las empresas indias?