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:
- Si desarrollamos una aplicación web utilizando una plantilla de administración de código abierto (GPL v3), ¿es obligatorio hacer que la aplicación sea de código abierto?
- Web Marketing: ¿Qué necesito para llevar mi aplicación web al siguiente nivel?
- ¿Cuáles son las mejores agencias web utilizadas para crear aplicaciones web MVP de inicio, preferiblemente en Londres?
- Cómo obtener un proyecto de desarrollo web que también me dará dinero
- ¿Puedo hacer una aplicación web si solo conozco Ruby on Rails?
- React.js: UNA BIBLIOTECA JAVASCRIPT PARA CONSTRUIR INTERFACES DE USUARIO de Facebook.
- 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.
- 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. Comprueba 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.