8 dicas úteis para uma melhor UX no Flutter

Seu aplicativo pode funcionar perfeitamente — extremamente rápido, sem exceções, sem erros, sem travamentos — como esperado. Mas se você não oferecer aos usuários uma experiência útil e tranquila, seu produto será um aplicativo comum, não incrível. Pior ainda, os usuários podem ficar insatisfeitos com a experiência e enlouquecer com o tempo.
(Por exemplo, não fechar o teclado depois de clicar no botão de pesquisa.)
Então, vamos fazer nossos aplicativos se destacarem!
1. Torne seus widgets roláveis sempre roláveis.
BouncingScrollPhysics é ótimo! Mas se não tivermos itens suficientes para se estender além da visualização, ela não será rebatida. Faz sentido, na verdade.
Mas e se quisermos atualizar a lista?
Para criar o efeito bounce/overscroll independente do tamanho dos itens, devemos usar o AlwaysScrollableScrollPhysics com ele.

2. Foco automático ao abrir
Às vezes, queremos usar uma página apenas para preencher um campo de texto.
Pode ser um campo de pesquisa ou um e-mail. Queremos focá-lo assim que abrir porque sabemos que o usuário eventualmente o focará, então por que incomodar o usuário fazendo-o dar o passo extra de tocar no campo de texto?

3. Certifique-se de que o campo de texto esteja visível.
Vamos supor que temos um formulário e precisamos validar algumas entradas. O usuário irá clicar no botão enviar, mas espere, o botão não funciona porque alguns campos não foram validados.
O usuário pode não entender isso porque esses campos não estão visíveis na tela naquele momento. Isso pode causar algumas experiências insatisfatórias.
Mas não se preocupe, prevenir é bem simples! Então vamos ver como!

4. Concentre-se no próximo widget ao inserir ou enviar.
Esse é bem direto. Você digitou seu nome e deseja ir para o segundo campo de texto ao entrar. Isso é esperado de todos, e eles deveriam receber isso também!

Também notei algo: muitas pessoas usam o FocusNode para isso. Não há nada de errado com FocusNode, mas também não precisamos disso. Podemos simplesmente definir um textInputAction e aqui vamos nós! Usar FocusNode é uma etapa extra que não precisamos.
5. Lembre-se da posição de rolagem.
Suponha que você estava rolando em uma página e clicou em um cartão para ver detalhes ou mudou para outra guia. Em seguida, volte para a lista novamente, mas você vê que a posição foi redefinida e você teve que começar de novo! Que desastre!

6. Toque novamente para sair.
Os usuários do Android podem clicar acidentalmente no botão Voltar enquanto estão na página inicial, e o aplicativo irá imediatamente para o segundo plano.
Seria uma boa experiência para eles?
Vou deixar você com essa pergunta e mostrar como você pode facilmente evitar que isso aconteça!
(Desculpe pelo exemplo ruim, eu estava com preguiça de mudar para um emulador Android para demonstrar o caso com um botão Voltar físico.)

7. Desfoque na rolagem.
Digitamos, entramos e queremos que o teclado nos deixe sozinhos com o conteúdo. É tudo o que queremos! Por favor, não o poupe de nós!

8. Desfoque na gravação externa.
Se não quisermos enlouquecer os usuários, também devemos deixá-los fechar o teclado quando tocarem fora do campo de texto.

Por último
Não existe mágica, são apenas pequenos detalhes.
Preste atenção nos pequenos detalhes para que as pessoas pensem que você é um mágico!
- Um mágico
Projeto Github
Pegue e deixe suas palmas!
Obrigado por ler!
Acho que vou estender este artigo em uma série.
Você pode me seguir e manter-se informado sobre as novas peças!
Por favor, não se esqueça de clicar no botão e tenha um ótimo dia!