12 Useful libraries to support development using flutter

Lucas Alves
Flutter Community
Published in
6 min readNov 11, 2019

A library is a collection of subprograms used in software development.

Libraries contain ancillary code and data, which provides standalone program services, allowing for the modular sharing and modification of code and data (taken from Wikipedia).

In this article we will list 12 very useful and highly maintained community flutter libraries that in my opinion every developer should know about. There is a huge diversity of libraries, but in this article I will mention the ones I recommend that I used at some point in Flutter projects.

Before we get started, I make it clear that the recommendations of the libraries in this article were made based on my experience of use. And the examples given are the use of each, when applicable.

We will also prioritize relevance by score, community votes and if they are being updated frequently, not to include in this article libraries discontinued by the creator and the community.

I will mention the documentation link in each of them, and by clicking on each package the popularity, health, maintenance and overall score of each library can be seen in this area:

The packages mentioned are not organized by ranking.

1. fl_chart

As there is nothing official for graphics yet, there is a fantastic library for drawing graphics in Flutter. It has several useful graphs, such as bar, line and pie charts.

Library chart example

Your documentation and sample charts provided by fl_chart can be found by clicking here.

2. url_launcher

This is a plugin that assists in opening a given URL through predefined schemes and performs various functions from it in a mobile application. Supports iOS and Android.

Examples of common supported schemes:

The full documentation can be found here.

3. dio

Dio is a powerful HTTP client for Dart that supports interceptors, global configuration, FormData, request cancellation, file download, timeout, and more.

This really is very useful to make the requests in a simplified way. Its use is very simple:

To consult the documentation, click here.

4. path_provider

This is a very useful library to use when we need to locate a file on the Android or iOS file system.

Its implementation is as follows:

For more details, click here.

5. package_info

This library is used when we need to fetch application version information, it works on both Android and iOS.

The documentation can be found by clicking here.

6. rxdart

RxDart is a reactive functional programming library for Google Dart based on ReactiveX. For details of how reactive programming works, I recommend looking at the site.

See the documentation by clicking here.

7. cached_network_image

This is a Flutter library used to display images from the Internet and keep them in cache. Can also be used with placeholder and error widgets.

CachedNetworkImage can be used directly or through ImageProvider. As in the example below:

See the documentation by clicking here.

8. local_auth

This plugin helps us to implement local biometric authentication on the user’s device. Works perfectly on Android or iOS. However, in the case of this library there is a specific configuration in the native part of each operating system that will be installed.

For more details, click here and see the documentation.

9. font_awesome_flutter

The Font Awesome Icon plugin provides us with a huge diversity of icons to use in the application, the list of available icons can be found here.

Its implementation is simple, as in the example below:

Implementation and use of package font_awesome_flutter

For details, see the documentation.,

10. intro_slider

Flutter Intro Slider is a plugin that helps you make an interesting introduction to your app. Creating intro has never been easier and faster using this package.

Example of using intro_slider

Documentation with details for implementing and setting the parameters can be found by clicking here.

11. bloc_pattern

BLoC stands for Business Logic Components. The essence of BLoC is that everything in the application must be represented as an event stream: widgets send events; other widgets will respond. BLoC sits in the middle, managing the conversation.

This package helps you implement the BloC Pattern by dependency injection in your project. For more details on how the BloC standard works, I recommend reading this article.

And the package documentation can be found by clicking here.

12. bottom_navy_bar

BottomNavyBar is a package that implements a beautiful and lively BottomBar. Navigation uses the current theme of the application, but can be customized by the developer.

Example of using bottom_navy_bar

The documentation can be consulted by clicking here.

BONUS: Slidy

Slidy is a CLI package manager and template generator for Flutter. Generates modules, pages, widgets, BloCs and tests. For the purpose of structuring a project and maintaining a standard.

This repository is maintained and continued by brazilians, the Flutterando community. Also, I also made contributions to the development of this project.

The structure created with the slidy start command is as follows:

For more details on CLI detailing and to better understand its ease, see the documentation by clicking here.

The flutter developer after knowing these libraries

Finish!

If the tips were interesting to you, or if you have any tips on any package not commented on in this article, leave your comment and also don’t forget to leave your applause here on Medium, you can leave up to 50 applause per user, and encourage me to create more articles related to software development.

Also connect with me on LinkedIn by clicking here. And follow the projects on GitHub by clicking the link below:

--

--

Lucas Alves
Flutter Community

A mobile developer passionate about learning and sharing knowledge.