De zero a heroi: Hero animations em Flutter

Publicado em 31 ago 2020. Uns 17 minutos de leitura.

Animações são uma excelente maneira de tornar um app mais interativo e engajar os usuários. Flutter tem várias opções para criar animações, com diferentes níveis de complexididade. Uma das (se não a) mais simples são as Hero animations, que, com apenas um widget, permitem animar um componente durante a transição entre duas telas. Vamos ver como fazer uma animação super rápida e explorar possibilidades mais avançadas para criar animações mais complexas com essa ferramenta.

Continuar lendo →


Navegação por rotas em Flutter usando o Nuvigator

Publicado em 12 ago 2020. Uns 12 minutos de leitura.

Um dos aspectos mais importantes de um app é a navegação entre telas. Na web, isso é feito através de links (e, com a alta dos frameworks de front-end JavaScript, reimplementando esta navegação no cliente). Num app em Flutter, existem funções de navegação para transicionar de uma tela para outra. Com elas é possível empilhar, substituir e remover telas criando o próprio widget da tela seguinte nestas funções.

O Nuvigator surgiu como uma abstração em cima desse roteamento do Flutter para facilitar a declaração e reutilização destas rotas, o que é bem útil conforme o app cresce e tem mais partes que interagem. Trouxe uma introdução a como ele funciona neste post!

Continuar lendo →


Melhorando acessibilidade de linhas e colunas em Flutter

Publicado em 27 jul 2020. Uns 7 minutos de leitura.

Flutter parte do princpípio de "tudo é um widget!", e isso inclui as primitivas de layout, como Row e Column. Com essas ferramentas bem simples, conseguimos criar vários tipos de layout. Porém, nem sempre a maneira com que algo é visualmente disposto bate com a ordem e agrupamento semântico. Estava fazendo um app em Flutter e, ao tentar usá-lo com o VoiceOver (leitor de tela do iPhone, usado normalmente por pessoas com deficiência visual), percebi que ele lia alguns conteúdos numa ordem ruim. Vamos ver o que precisei fazer para consertar isso — é mais fácil do que parece!

Continuar lendo →