~/questoes/programacao
Local first inverte a arquitetura tradicional: em vez de o servidor ser a fonte de verdade, os dados residem no cliente e a sincronização acontece em background. Isso oferece velocidade e funcionamento offline, mas exige que o cliente saiba resolver conflitos de dados automaticamente, sem coordenação central.
A alternativa D está correta porque local first transfere a responsabilidade de resolução de conflitos para o cliente. Quando múltiplos usuários modificam os mesmos dados offline e depois sincronizam, o cliente precisa usar tecnologias como CRDTs para mesclar essas mudanças de forma inteligente, sem depender do servidor para arbitrar qual versão está correta.
Essa alternativa está incorreta. Local first na verdade usa IndexedDB e outras tecnologias para armazenar dados de forma robusta e segura no navegador. O armazenamento seguro é um pilar da arquitetura, não um problema.
Essa alternativa inverte a realidade. Local first aumenta a capacidade offline-first, não reduz. A aplicação funciona completamente offline porque os dados estão locais. Essa é uma das maiores vantagens, não um trade-off negativo.
Essa alternativa descreve a arquitetura tradicional (como Next.js), não local first. Em local first, o cliente é independente e o servidor é apenas um sincronizador. A dependência do servidor diminui, não aumenta.
Essa é a resposta correta. Local first exige que o cliente tenha lógica sofisticada para detectar conflitos (quando dois usuários editam a mesma coisa offline), resolvê-los automaticamente (usando CRDTs) e manter consistência sem pedir ao servidor para decidir. Isso é mais complexo que simplesmente enviar dados para o servidor processar.