O que significa "Atualizável"
A maioria dos usuários de iPhone sabe instintivamente que puxar a tela para baixo atualiza o conteúdo em muitos apps — esse é o clássico gesto de puxar para atualizar, e é exatamente o que queremos dizer com "atualizável". Versões anteriores do Splync não suportavam esse recurso. A única maneira de atualizar a tela era fechar o app e reabri-lo. Isso não era muito problemático, pois o app mantém você conectado desde o Splync v1.3, mas ainda não era o ideal. Como o Splync visa ser o rastreador de orçamento compartilhado mais fácil, atualizar a tela deve ser completamente sem esforço. É por isso que introduzimos o puxar para atualizar na v1.10, tornando o Splync totalmente atualizável.
Duas maneiras de o Splync atualizar seus dados (Recarga Completa / Atualização de Visualização)
Na tela inicial — onde você vê sua foto de perfil, lista de amigos e lista de projetos — puxar para atualizar realiza uma recarga completa. Recupera todos os dados relacionados à conta novamente, muito parecido com sair e entrar novamente. Por isso, a atualização pode levar cerca de um segundo enquanto a mensagem de carregamento é exibida. Em uma tela de Projeto, onde aparece sua lista de despesas, o mesmo gesto de puxar para baixo aciona uma atualização de visualização mais leve. Apenas os dados específicos do projeto são atualizados, como mudanças de categoria e atualizações de despesas. Não é necessário esperar um segundo completo apenas para ver se alguém adicionou uma nova despesa. Também observe: o Splync não busca automaticamente dados do projeto do servidor em segundo plano. O app verifica atualizações apenas quando você faz alterações, quando abre uma despesa para ver seus detalhes ou quando atualiza a página do projeto manualmente.
Por que não sincronização em tempo real
Alguns usuários podem esperar que as atualizações de projeto apareçam instantaneamente quando um amigo adiciona uma nova despesa. A sincronização em tempo real parece conveniente, mas traz trocas importantes. Atualizações contínuas em segundo plano exigem mais bateria, mais dados móveis e uma conexão de servidor mais complexa que pode tornar o app mais lento para todos. A abordagem sob demanda do Splync mantém a experiência leve e responsiva, e evita que a tela mude repentinamente enquanto você revisa seu orçamento. Há também considerações de segurança. Manter uma conexão constante com o servidor aumenta a janela de exposição para acessos não autorizados e requer lógica de autenticação adicional rodando em segundo plano. Ao atualizar apenas quando você toma uma ação, o Splync minimiza a atividade de rede desnecessária e mantém o acesso aos dados mais previsível e controlado.
Por trás do código do .refreshable
No começo, achei que essa atualização seria simples. Em Swift, a linguagem usada para o desenvolvimento iOS, você pode habilitar o puxar para atualizar apenas anexando o modificador .refreshable a uma ScrollView ou Lista. No entanto, não funcionou como eu esperava. Depois de investigar o problema, percebi a causa raiz. Eu queria adicionar o puxar para atualizar a toda a tela superior, que contém a lista de amigos e a lista de projetos. Mas no design original, ambos os componentes também eram roláveis. Como resultado, o .refreshable não sabia a qual área rolável pertencia, e o gesto não era detectado de forma consistente. Para corrigir isso, reestruturei a lista de amigos e a lista de projetos para que não sejam mais roláveis por conta própria. Isso é seguro porque a visão de nível superior rola quando o conteúdo excede a altura da tela. Depois que simplifiquei a estrutura e garanti que havia apenas um contêiner rolável, o .refreshable finalmente se comportou exatamente como pretendido. Também adicionei um botão de atualização típico para que os usuários possam apenas tocar para atualizar.
Puxar não funciona para você? Puxe um pouco mais
Na maioria dos apps iOS, puxar para atualizar não é ativado no momento em que você começa a arrastar. O SwiftUI tem um limite de gesto embutido: o sistema espera até que você puxe para baixo uma certa distância antes de acionar a atualização. Isso evita atualizações acidentais quando você simplesmente começa a rolar a partir do topo da tela. O Splync segue esse comportamento padrão. Você pode notar que um puxão curto não atualiza o conteúdo, mas um puxão um pouco mais longo — o suficiente para que o indicador de atualização apareça — acionará a atualização. Este design mantém as interações intencionais. Evita atualizações indesejadas, especialmente em telas onde os usuários frequentemente rolam por longas listas de despesas ou projetos. Uma vez que você puxe um pouco além do limite superior e o indicador apareça, a atualização começará assim que você soltar o dedo. É um pequeno detalhe, mas contribui para uma experiência mais suave e previsível. Só para esclarecer: não se trata de puxar por mais tempo ou aplicar mais força. O que importa é puxar uma distância maior.
Um pequeno recurso, cuidadosamente elaborado
Puxar para atualizar pode parecer uma interação pequena, mas construí-la envolveu escolhas de design, reestruturação técnica e um número surpreendente de considerações nos bastidores. O Splync v1.10 faz com que atualizar seus dados pareça natural, intencional e previsível — exatamente como deveria ser no app de orçamento compartilhado mais fácil. Espero que esta atualização proporcione uma experiência mais suave e um vislumbre do cuidado que envolve cada detalhe. Obrigado por usar o Splync.