in

Facebook renova Messenger

App reduz código de 1,7 milhão de linhas para 360.000 e ficou duas vezes mais rápido.

O Facebook começou na segunda-feira a lançar uma nova versão do Messenger no iOS, depois de deslocar mais de 100 engenheiros para reconstruir completamente a arquitetura do aplicativo e reescrever sua base de código. Por fim, eles reduziram o código principal do Messenger em 84%, de mais de 1,7 milhões de linhas para 360.000. A nova versão do Messenger é duas vezes mais rápida logo de cara, diz o Facebook. 

Facebook renova Messenger e promete app duas vezes mais rápido

Facebook renova Messenger

A reforma completa ocorre nove anos após o lançamento inicial do Messenger como um aplicativo independente. O app tornou-se mais completo quando o Facebook adicionou recursos como pagamentos, efeitos de câmera, GIFs e recursos de bate-papo por vídeo. No auge, o tamanho do aplicativo era superior a 130 MB, disse o Facebook.

A reconstrução começou com a premissa de que “fundamentalmente, um aplicativo de mensagens deve ser um dos menores e mais leves do seu telefone“, escreveu o Facebook em seu blog de engenharia. Para minimizar a complexidade e eliminar redundâncias, a equipe do Messenger construiu uma arquitetura unificada. Isso permite otimização geral, em vez de focar cada recurso nas otimizações locais.

Para fazer isso, a equipe do Messenger decidiu usar o sistema operacional nativo sempre que possível, em vez de confiar em abstrações sobre o sistema operacional para criar novas funcionalidades ou experiências entre plataformas. Como o aplicativo não podia confiar no sistema operacional, a equipe criou o menor código de biblioteca possível para suas necessidades específicas. Eles também usaram uma extensão operacional criada no código C nativo para lógica de plataforma cruzada.

Desafios

Em seguida, a equipe do Messenger decidiu reutilizar a interface do usuário sempre que possível. Por exemplo, antes deste projeto, o aplicativo tinha mais de 40 telas diferentes da lista de contatos, cada uma com pequenas diferenças de design. Agora, a lista de contatos tem um único modelo dinâmico, com algumas categorias de visualizações básicas alimentadas por diferentes tabelas SQLite

Além disso, o novo Messenger usa o SQLite como um sistema universal para suportar todos os recursos.

Por fim, a equipe construiu um broker de servidor para operar como um gateway universal entre o Messenger e seus recursos de servidor.

Para garantir que o aplicativo permaneça sustentável, disse o Facebook, os engenheiros deverão cumprir metas de tamanho à medida que criam e atualizam recursos. A reconstrução, disse a empresa, também estabelece as bases para mensagens entre aplicativos em toda a família de produtos do Facebook.

ZDNet