Vous'avez absolument tort de supposer que les apps iOS ne peuvent'pas fonctionner en tant que service de fond. Beaucoup d'entre elles le peuvent, et le font !
Il y a'un ensemble limité d'utilisations pour le traitement en arrière-plan, notamment les applications VoIP, la lecture du son et l'exécution d'une petite quantité de traitement à intervalles réguliers.
WhatsApp pour le Web fonctionne en établissant une connexion par socket entre le navigateur et l'application WhatsApp pour iPhone. Je pense qu'ils utilisent cette connexion pour pousser directement les messages de l'application vers le navigateur, au lieu de distribuer tout un tas de messages push à tous les clients abonnés.
On pourrait voir l'application iPhone comme un canal de relais entre les serveurs WhatsApp et le navigateur.
La communication directe entre le navigateur et les serveurs WhatsApp, et avec l'application iPhone et les serveurs WhatsApp, duplique l'information sur 2 canaux. Ces informations sont envoyées à l'utilisateur de toute façon, donc c'est un gaspillage de ressources de le faire deux fois. Dans cette mesure, l'application iPhone copie simplement les informations de l'application vers le navigateur.
Vous pouvez imaginer l'impact de la duplication des données sur un réseau aussi important que WhatsApp. Disons qu'ils'ont un millier de serveurs pour alimenter la messagerie entre 1 million de clients. Si tous ces clients veulent également recevoir leurs messages dans le navigateur, ils ont maintenant... 2 millions de clients. Étant donné que leur système évolue de manière prévisible, ils ont besoin de 1000 serveurs supplémentaires.
Pour des informations essentiellement dupliquées...
Au lieu de cela, ils ont dû choisir de ne mettre à niveau qu'une partie de leur réseau et de tirer parti du réseau de pairs déjà en place : les iPhones de leurs utilisateurs. Je'suspecte qu'ils envoient même les données entre le navigateur et l'iPhone sur le réseau local, en sortant essentiellement leur réseau de serveurs de l'équation. Astucieux, non ?