15 Bibliotecas úteis para produtividade no desenvolvimento com Flutter [Atualizado 2021]
O Flutter é um framework de código aberto criado pelo Google que utiliza a linguagem Dart para o desenvolvimento de aplicações para Android, iOS, Desktop ou Web, além de ser o principal método de criação de aplicativos para o Google Fuchsia.
Sim, o desenvolvedor irá “possuir o poder” para utilizar a base de código em plataformas mobile, desktop ou web. Não é fantástico?
Neste artigo, iremos abordar de forma breve e concisa, 15 bibliotecas que podem ser amplamente utilizada nas aplicações em 2021. Afirmo que nesse artigo serão listados as bibliotecas que recomendo e que em algum momento utilizei nos projetos durante o processo de desenvolvimento.
Antes de iniciarmos, deixo um outro artigo que criado por mim em 2019 que também vale a pena conferir: 12 Bibliotecas úteis para auxiliar no desenvolvimento utilizando Flutter

Levaremos em conta nas recomendações fatores como: a relevância pelo score, votos da comunidade e se estão sendo frequentemente atualizadas pelos criadores e pela comunidade, pra não incluir neste artigo bibliotecas descontinuadas. 😉
Mencionarei o link para cada uma das bibliotecas, porém ao clicar no link na seção Scores você pode ter mais informações detalhadas sobre cada uma delas, como por exemplo índices de: quantidade de likes, pontuacão do site pub.dev (onde são hospedadas oficialmente) e índice de popularidade em porcentagem.
Outras informações úteis também são fornecidas como: se o package segue as convenções do Dart, se possui documentação, suporta múltiplas plataformas e outras informações úteis.

As bibliotecas que serão mencionadas abaixo não estão organizadas por ranking.
- cupertino_icons
Este é um repositório com assets que contém o conjunto padrão de ativos de ícone usados pelos widgets Cupertino do Flutter, normalmente utilizados na plataforma iOS.

A documentação e os ícones disponibilizados pelo cupertino_icons pode ser encontrada clicando aqui.
2. flutter_bloc

BLoC é a sigla para Business Logic Object Components, um padrão muito utilizado no Flutter. O BLoC nada mais é do que a separação das regras de negócio da sua interface, algo recomendado em diversas tecnologias atualmente.
O conceito utilizado pelo criador da biblioteca é: os flutter_blocs são widgets que facilitam a integração de blocs e cubits no Flutter. Construído para funcionar com package:bloc.
Como o conceito pode não parecer muito simples para quem nunca utilizou (mas acredite, é muito bom de utilizar em diversos casos), acesse a documentação do flutter_bloc clicando aqui.
3. animations
Animações pré-construídas de alta qualidade para Flutter.
Essa biblioteca contém animações predefinidas para efeitos comumente desejados. As animações podem ser personalizadas com seu conteúdo e colocadas em seu aplicativo para encantar seus usuários.

O link para acesso a documentação encontra-se clicando aqui.
4. flutter_local_notifications
Um plugin cross-platform para exibir notificações locais no dispositivo do usuário. Atualmente suporta Android (4.1+), iOS (8.0+), macOS (10.11+) e Linux.

Consulte os exemplos de implementação, por meio deste link.
5. flutter_slidable
Uma implementação Flutter de item de lista deslizante com ações direcionais de slide que podem ser dispensadas.

Atualmente o flutter_slidable possui 4 diferentes motions: Behind Motion, Drawer Motion, Scroll Motion e Stretch Motion (exemplo acima).
Sua implementacão pode ser consultada aqui.
6. flutter_native_splash
Quando seu aplicativo é aberto, ocorre um breve período enquanto o aplicativo nativo carrega o Flutter. Por padrão, durante esse tempo, o aplicativo nativo exibe uma tela de abertura branca.
Este pacote gera automaticamente iOS, Android e código nativo da Web para personalizar a cor de fundo da tela inicial nativa e a imagem inicial. Suporta modo escuro, tela inteira e opções específicas da plataforma.

Consulte detalhes de como implementar, clicando no link da documentacão do flutter_native_splash.
7. google_maps_flutter
Um plugin Flutter que fornece um widget para auxiliar a implementar o Google Maps em sua aplicação.

A documentação e os primeiros passos para gerar o API key para sua aplicação pode ser consultada clicando aqui.
8. permission_handler
Na maioria dos sistemas operacionais, as permissões não são concedidas apenas aos aplicativos no momento da instalação. Em vez disso, os desenvolvedores precisam pedir ao usuário permissões enquanto o aplicativo está em execução.
Este plugin fornece uma API de plataforma cruzada (iOS, Android) para solicitar permissões e verificar seu status. Você também pode abrir as configurações do aplicativo do dispositivo para que os usuários possam conceder uma permissão. No Android, você pode mostrar uma justificativa para solicitar uma permissão.

Consulte a documentação clicando aqui.
9. connectivity_plus
Este plug-in permite que aplicativos Flutter descubram a conectividade de rede e se configurem de acordo. Ele pode distinguir entre conexão de celular e WiFi.
Atualmente, o package é mantido pela comunidade oficial do Flutter. E possui suporte para todas as plataformas mobile e web. A documentação pode ser consultada aqui.
10. webview_flutter
Um plug-in Flutter que fornece um widget WebView.
O WebView é uma ferramenta que permite a exibição de conteúdos web dentro de aplicativos. Esse é um recurso personalizado que entrega da melhor forma possível o conteúdo de uma página ou serviço no Android, sem alterar a experiência de navegação.

A documentação pode ser consultada aqui.
11. file_picker
Uma biblioteca que permite que você use o explorador de arquivos nativos do dispositivo para escolher um ou vários arquivos, com suporte para filtragem de extensões.

Instruções de uso e de implementacão da biblioteca podem ser encontradas clicando aqui.
12. pull_to_refresh
Um widget fornecido para a atualização suspensa do componente de drop-down, atualiza puxando de cima para baixo no device e executa o carregamento. Atualmente suporta Android e iOS.

A documentação pode ser consultada aqui.
13. just_audio
A biblioteca just_audio é um reprodutor de áudio rico em recursos para Android, iOS, macOS e web.
Suporta uma infinidade de recursos como por exemplo:

Consulte as instruções de implementação clicando aqui.
14. sign_in_with_apple
Uma bibliteca que fornece os recursos necessários para fazer login com a Apple. Suporta atualmente iOS, Android e macOS.
Oferece suporte ao login por meio de um ID Apple, bem como à recuperação de credenciais salvas nas chaves do usuário.

Consulte a documentação clicando aqui.
15. firebase_crashlytics
Um plug-in Flutter para usar a API Firebase Crashlytics.
O Firebase Crashlytics, uma ferramenta de relatório de erros em tempo real, ajuda você a priorizar e corrigir as falhas mais comuns com base no impacto sobre os usuários reais. O Crashlytics também se integra facilmente aos seus aplicativos Android, iOS, macOS, tvOS e watchOS.
Para saber mais sobre o Crashlytics, visite o site do Firebase.
Finalizamos! Mas não menos importante…
Se as dicas foram interessantes, deixe seu comentário e não esqueça de deixar seu aplauso aqui no Medium, você pode dar de 1 a 50 aplausos, e também me incentive a criar mais conteúdos relacionados a desenvolvimento de software.
Conecte-se também comigo no LinkedIn, clicando aqui. E vamos nos conectar também no GitHub: