7 bibliotecas no Flutter para facilitar o seu trabalho

7 bibliotecas no Flutter para facilitar o seu trabalho

Por que se preocupar em escrever funcionalidades personalizadas se a comunidade do Flutter te oferece vários pacotes com funcionalidades incríveis, já prontas? É só importar, implementar e seguir para o desenvolvimento do que realmente importa: a aplicação do seu negócio.

Esses pacotes (chamaremos daqui para frente de libs, ou bibliotecas) são, na minha sincera opinião, nossos melhores amigos como desenvolvedores. As libs economizam muito tempo de desenvolvimento e, por consequência, economizam dinheiro para a empresa e trazem qualidade de vida de desenvolvedores também!

Vamos falar então sobre 7 libs que vão te ajudar a desenvolver suas aplicações ainda mais rápido? Vem comigo!


1- Dio

Com a ajuda desta lib, você consegue criar um client HTTP para o Dart bem robusto. Ele suporta interceptors, configurações globais, FormData, cancelamento de requisição HTTP, download de arquivos, configuração de timeout de requisição, entre outras tantas possibilidades. O que eu mais gosto do Dio é a possibilidade de Interceptors - você consegue lidar com erros de HTTP de maneira muito otimizada com a ajuda deles-.

Essa lib tem mais de 4,7 k likes e mais de 11k stars no GitHub. Ela é bem simples de utilizar e bem poderosa.

Você pode encontrar a lib aqui e o GitHub dela está aqui.

2- HTTP

Essa é uma lib que te permite fazer requisições HTTP. Ela disponibiliza uma série de funções de alto nível e também classes para consumo de recursos HTTP. Ela é multi-plataforma e tem suporte para mobile, desktop e web.

No pub.dev ela tem quase 5.5 k likes e também quase 900 stars no GitHub.

Você pode encontrar a lib aqui e o Github dela está aqui.

3- Webview

No contexto de mobile, é normal que precisemos mostrar páginas da web dentro da nossa app. Para fazermos isso de maneira interna (sem abrir um navegador externo) podemos utilizar a lib Webview.

Ela dá acesso ao widget de mesmo nome, WebView. Inclusive, até já está dentro do Flutter como um plugin.

No iOS, o que suporta a WebView é uma WKWebView e, no iOS, é uma classe também chamada WebView que dá suporte à lib do Flutter. Essa lib tem mais de 2,6k likes e mais de 16k stars no Github. Sua utilização também é bem simples:

Você pode encontrar a lib aqui e o GitHub dela está aqui.

4- Shared Preferences

Esta lib te oferece um conjunto de ferramentas para armazenamento persistente de dados, sendo específica para cada plataforma. Por exemplo, no iOS ela utiliza a interface NSUserDefaults e no Android ela utiliza a interface SharedPreferences.

Aqui fica, porém, um alerta: essa lib não deve ser utilizada para armazenamento de dados importantes para o funcionamento da sua app, principalmente porque os dados são escritos na memória de maneira assíncrona e não há garantia que eles ainda estarão salvos na memória quando a pessoa retornar para a sua app.

Essa lib tem mais de 6,4k likes e mais de 16k stars no GitHub.

Sua utilização é bem simples:

Você pode encontrar a lib aqui e o GitHub dela está aqui.

5- Flutter Local Notifications

Uma das funcionalidades mais úteis e requisitadas na maioria das apps é a notificação. Isso é compreensível, pois essa funcionalidade serve primariamente para mostrar informações para usuários, estejam eles com a sua app aberta ou fechada. Quem nunca recebeu uma notificação de uma app no celular com alguma promoção, ou alerta de inatividade, né?

Para isso, temos a lib Flutter Local Notifications. Ela é um plugin multi-plataforma que permite o agendamento e visualização de notificações locais, com opções de personalização de acordo com a plataforma alvo.

Ela permite outras funcionalidades como o agendamento de quando as notificações devem aparecer, seja isso com uma frequência (diariamente às 17h, semanalmente na sexta-feira às 18h) ou com base em um intervalo de tempo (de uma em uma hora, por exemplo).

Talvez até mais importante que isso, ela permite que você lide com o clique do usuário na notificação nos diferentes estados da aplicação (aplicação aberta, aplicação no background e aplicação fechada). Muito legal, né?

Essa lib tem mais de 4,3k likes e mais de 2k stars no GitHub.

Exemplo de notificação no Android.
Exemplo de notificação no iOS.

Para sua implementação, é necessário aplicar algumas mudanças, manualmente, em certos arquivos nativos Android e iOS do seu projeto. É importante fazer esses passos com bastante atenção para que a lib funcione corretamente!

Recomendo que você faça a implementação dessa lib com calma e atenção, pois são muitas configurações e você não deve esquecer de pedir as permissões necessárias para mostrar notificações, ok?

Você pode encontrar a lib aqui e o GitHub dela está aqui.

6- Image Picker

Esta é uma lib que te permitirá selecionar imagens a partir da biblioteca do dispositivo e tirar novas fotos com a câmera. Fique atento: ela tem um pré-requisito de que seus usuários tenham dispositivos com iOS 9.0 ou maior e Android 4.3 ou maior.

Essa lib tem mais de 4.5k likes no pub.dev e também mais de 16k de stars no GitHub.


Uma dica legal sobre esta lib é que, se seu usuário Android estiver com otimização de bateria ativa, em um cenário de uso intenso de processamento e memória ou configuração de não manter apps em background, sua aplicação vai reiniciar quando a pessoa selecionar a imagem. Para que você não a perca, você pode executar este método durante a inicialização da aplicação:

Ele te ajudará a recuperar a imagem selecionada!

Você pode encontrar esta lib aqui e o GitHub dela está aqui.

7- Easy Localization

Se você precisa que sua aplicação suporte múltiplas línguas então esta é a minha recomendação de lib para você!

Com ela, você consegue traduzir textos, implementar plurais e gênero, passar argumentos variáveis para a formação de traduções e também ter textos pré-definidos conectados dentro do próprio arquivo .json de strings. Por exemplo:

Sua implementação inicial é bem simples:

Como demonstrado acima e na documentação da lib, não se esqueça de envolver sua aplicação com o EasyLocalization para poder desfrutar dos seus benefícios.

Você pode encontrar a lib aqui e o GitHub dela está aqui.


Conclusão

Essa é a minha lista de 7 libs que você pode (ou deve) utilizar no desenvolvimento das suas aplicações, de acordo com a sua necessidade. Elas economizam MUITO tempo e, acredite, você quer isso sempre!

Espero que tenha conseguido te ajudar a encontrar alguma lib que estivesse faltando no seu projeto Flutter. Me conta o que você achou e de quais libs você gosta mais? Claro, se tiver dúvidas ou sugestões, pode me chamar no LinkedIn ou no e-mail que conversamos, tá bom? Obrigado!

💡
As opiniões e comentários expressos neste artigo são de propriedade exclusiva de seu autor e não representam necessariamente o ponto de vista da Revelo.

A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.