Offline first

Offline first é uma abordagem ao desenvolvimento de software na qual os desenvolvedores constroem as principais características de uma aplicação para funcionar com ou sem uma conexão de internet. Com uma primeira abordagem offline, os dados são escritos localmente no dispositivo do usuário final e periodicamente carregados e replicados na nuvem.

Um objetivo importante da primeira estratégia offline é fornecer aos usuários finais uma experiência de usuário consistente (UX) quando a conectividade com a internet é lenta ou inexistente. A arquitetura empurra os dados e a lógica do aplicativo para a borda da rede e a maior parte do processamento ocorre no dispositivo do usuário final.

Esta abordagem não só garante que a funcionalidade central do aplicativo ainda funcionará na ausência de uma conexão de rede confiável, mas também fornece aos usuários móveis um uso mais eficiente dos recursos da bateria e da largura de banda. Isto é especialmente importante para usuários finais que viajam e experimentam pontos cegos de cobertura da Internet.

Offline primeiro é às vezes comparado ao mobile primeiro, uma estratégia de desenvolvimento de software em que os aplicativos são projetados para usuários móveis com telas pequenas e depois progressivamente melhorados para usuários com telas maiores. Ambas as estratégias encorajam os desenvolvedores a criar aplicativos para os ambientes com mais recursos limitados primeiro.

Bancos de dados de documentos criados com o mínimo de recursos de conexão em mente têm recursos avançados de sincronização e replicação que reduzem drasticamente a dificuldade e o custo da criação e manutenção de aplicativos que sincronizam dados entre um cliente e um armazenamento central de dados na nuvem. Por exemplo, um aplicativo pode usar PouchDB, a versão in-browser do Apache CouchDB, para funcionar quando não há conexão com a Internet e CouchDB para sincronizar dados quando uma conexão se torna disponível.

Os fornecedores de software estão promovendo offline primeiro porque permite que os funcionários que trabalham em países em desenvolvimento usem a produtividade e os aplicativos de negócios de uma maneira mais perfeita. Ele também permite que fornecedores de todos os tipos aumentem sua base de clientes digitais em áreas do mundo antes inexploradas.