iPod School

Por que o WhatsApp web não foi lançado para o iPhone?

André BazagliaAndré Bazaglia

Usuários de iPhone ficaram de fora de uma novidade bastante interessante do WhatsApp: a versão web do mensageiro instantâneo multiplataforma mais popular do mundo. O argumento propagado na web para a incompatibilidade do serviço com iOS é uma limitação que existe no sistema operacional da Apple. Isso significa que o iOS é ruim? Longe disso. A questão que deve ser debatida é: de fato existe uma limitação técnica para a implementação do recurso? Mais ou menos. Responderei a pergunta ao longo desta matéria.

Para começo de história, é interessante ressaltarmos que a sincronização de mensagens entre aparelhos diferentes seria sim possível pelo lado dos servidores do WhatsApp, se a equipe de desenvolvedores do serviço projetasse a aplicação para isso. Vamos fazer uma analogia. O Facebook, por exemplo, gerencia isso muito bem: você pode alternar o envio de mensagens entre o aplicativo do Facebook para iOS, Android, ou qualquer outro sistema operacional móvel e navegador web naturalmente sem problemas — suas mensagens serão sempre sincronizadas. Não há nenhum tipo de preconceito com o nome “WhatsApp”, e se o Facebook permite o envio de mensagens tanto por aplicativo quanto por versão web, o WhatsApp poderia sim fazer o mesmo. E por que não faz? Bem, veja: os obstáculos não estão nos resultados que o WhatsApp buscou alcançar, e sim nas ferramentas que sua equipe usou para implementar o recurso.

Ainda dentro de uma analogia com o Facebook — que, por ser um mensageiro instantâneo que tem versões de seus apps disponíveis para várias plataformas mobile e uma versão web, é um serviço legal para usarmos a fins de comparações/analogias —, há uma diferença estrutural muito importante que deve ser ressaltada: o envio de mensagens do WhatsApp é feito de uma maneira completamente diferente. A arquitetura/estrutura de dados é outra. Bastante diferente dos conceitos usados pelo Facebook. Enquanto o Facebook salva suas mensagens em um banco de dados e as disponibiliza para acesso em qualquer plataforma, o WhatsApp foi projetado para enviar mensagens aos seus destinatários e excluí-las do banco de dados (talvez o WhatsApp até mantenha todas as mensagens salvas em seus bancos, mas elas não são restauráveis nem legíveis por nós, usuários). É por isso, por exemplo, que nunca há um backup de suas mensagens no WhatsApp — se você tem algum backup do WhatsApp, ele certamente foi salvo pelo iCloud, e estão nos servidores da Apple, não nos servidores do WhatsApp.

Por ser projetado de maneira tão diferente — exposta acima –, os desenvolvedores do WhatsApp optaram por esquematizar o envio de mensagens pelo navegador (na versão web) da seguinte maneira: o WhatApp se conecta com o smartphone e envia mensagens pelo smartphone. No Android, o aplicativo do WhatsApp fica rodando de fundo, recebendo comandos (mensagens) do navegador e as enviando. O Android suporta este modo de execução em background, e por isso recebeu o recurso. O iOS não abre portas para isso. Em suma, esquematizando a situação inteira, o que acontece é: ao invés do navegador enviar a mensagem diretamente aos servidores do WhatsApp, ele envia a mensagem ao seu celular, que por sua vez a encaminha ao contato destinado. O smartphone continua existindo na função de intermediar a comunicação. Não há a menor necessidade disso: o envio da mensagem não precisava passar do navegador para o celular, pra daí passar ao destinatário da mensagem. Ela poderia ser enviada do navegador do remetente para o número do destinatário diretamente.

explicacao-whatsapp-web

Se você é usuário de Android, lembre-se de ter uma boa reserva de bateria. Se ela acabar, o WhatsApp web ficará inacessível — isso não aconteceria se os desenvolvedores do WhatsApp optassem por seguir o caminho proposto pela seta “Este é o caminho mais eficiente”, na imagem acima. Eles não fizeram isso. Por quê? Não sei. Mas não deve ter sido uma atitude inconsequente. Certamente, há um bom argumento por trás da escolha do WhatsApp.

Programador, blogueiro, estudante de Engenharia de Computação. Em busca de deixar sua marquinha no universo.

  • O outro caminho talvez fosse mais inseguro, interceptável. Pode não ser por isso que escolheram a outra opção, mas parece plausível. Todas as versões do WhatsApp receberam, não só a do Android: desde o Nokia S40 de pouco mais de 100 reais, passando pelo S60 abandonado três anos atrás, e indo até os BlackBerrys. Felizmente a função não consome muito, pois a maior responsável pelo consumo de baterias hoje em dia é a tela, e ela não fica acesa durante o uso.

    • Italo,

      O que estes celulares de três anos têm em comum é essa possibilidade de rodar processos de fundo. E o iOS não consegue. O multitasking do iPhone “congela” apps, é um conceito bastante eficiente no dia-a-dia, mas não casa com o uso necessitado pelo WhatsApp.

      Sobre a tela, você está certíssimo, é uma das maiores inimigas. Espero que as próximas gerações de smartphones (isso inclui o iPhone) tenham telas mais eficientes e baterias melhores. Quem sabe a onda do Moto Maxx não possa ser aprimorada.

      Forte abraço e obrigado pelo comentário.

      • Rafael Valentim

        Desculpe se eu tiver errado, porém existem aplicativos que possuem permissão para rodarem em background ( em atualização de segundo plano ) como é o caso de um que uso muito, como o Prip, ele está sempre aberto, e atualizando… Impossível querer comparar aquela coisa mal projetada do Android com o do iPhone, ainda mais dizendo que o do Android é melhor …

        • Rafael Valentim

          E o real motivo por não ter saído pra IOS, é simplesmente que Apple não aceita coisas meia boca, e até meu irmão mais novo conseguiria projetar algo mais eficiente do que esse ” pulo do gato ” que o WhatsApp fez …

          • Edson Vander Alves

            E mAis, o app Telegram, que é semelhante ao popular WhatsApp, há faz este serviço praticamente desde o seu lançamento e isso já são quase 2 anos usando ele.

            • Edson,

              Como expliquei no post, o problema não está em atingir os resultados finais, e sim na implementação, nas ferramentas que o WhatsApp usou. Talvez a empresa tenha um bom argumento para escolher ser feito assim. Só espero que isso mude – eu ficaria muito feliz com uma versão do WhatsApp web melhorada em relação à atual e compatível com o iPhone.

              Forte abraço.

          • Rafael,

            A execução em background que o iOS permite é diferente da que o WhatsApp precisa. Só há uma possibilidade (pelo menos no iOS 7, não estudei o a API do iOS 8 por completo ainda): pela key UIBackgroundModes. Ela é bastante limitada. As linguagens e recursos de programação do iOS não são bem minha área, mas sei que essa chave que pode ser incluída é bem limitada. É provável que isso seja uma barreira para o WhatsApp sim.

            Um abraço,
            André.

            • Rafael Valentim

              Acredito que você saca muito mais de programação do que eu, mas é fato irrecusável que existem mil possibilidades que nasceram desde o IOS, chamar ele de ” limitado ” é um pouco perigoso, pois uma coisa é não querer entregar essa função por ela estar sendo feita de uma maneira porca pela equipe do WhatsApp, a mesma coisa séria falar que o IOS é um lixo dizendo que não se pode transferir arquivos Bluetooth, e não explicar que o mesmo não permite essa pratica pois incentivaria a pirataria, é a mesma ideia. A forma de “congelamento” do iOS 8 está mais evoluída, e não podemos deixar de citar, que sim, seria bem simples ( assim como você citou na matéria) criar um app bem feito, do que esse pulo de gato.

              Enfim, o blog está de parabéns, gosto de olhar todos os dias, e vejo que o número de matérias tem aumentado, não comento em todas, mas estou sempre olhando.

            • Rafael,

              Valeu pelo feedback positivo. Vamos sempre tentar manter os bons projetos no blog. Forte abraço!

            • Raphael Milani

              Acredito que eles fazem assim para garantir e validar a todo o momento que o usuário possui um número de celular. No caminho mais eficiente que você demonstrou, eu poderia apenas iniciar o WhatsApp Web e me livrar do número.. e aparentemente esse é um ponto muito importante para eles, visto que eles não possuem versão para iPad.. =(

  • Carlos Hereck

    Pois vamos todos usar o Viber, que pra mim é bem mais completo e melhor. E ainda instala no pc tambem. hehehe

  • Matheus Cecato

    Esse serviço de porco do WhatsApp não tá com nada e nem chega perto de ser uma versão pra PC. O que o Telegram faz é mil vezes melhor, por isso prefiro ele. Ótima matéria.