20 Flutter Library, that you should know about it

A library that makes developer life easier

Shirsh Shukla
8 min readFeb 22, 2021

The library is a bunch of collections of functions that help large amounts of coding work in a simple way, to just add up in your code.

A great library is the help of way, that works better in your project in terms of upgrading your own by time, also that process his issues or bug, and updating yourself by developer requirements.

So,

In this article, we will discuss the 20 most useful and commonly used libraries, that so many developers prefer,

And you should know about this if you are working in flutter development.

And all of these support for both Android and IOS.

  1. Google Map

Most of the applications needed google Maps at this time, this library provides you lot of services that you needed in your Google Maps applications. Even you customize this in your own way.

GoogleMap( mapType: MapType.hybrid, initialCameraPosition: _kGooglePlex, onMapCreated: (GoogleMapController controller) { _controller.complete(controller); }, ),

Source link:-

2. url_launcher

This library supports you to launch URL to your web browser also they support you launch your native schema URL like a phone call, SMS, Email, etc.

_launchURL() async { const url = 'https://flutter.dev’; if (await canLaunch(url)) { await launch(url); } else { throw 'Could not launch $url’; } }

Source link:-

3. Firebase packages (FlutterFire)

This is not a single, it's a set of collections libraries that firebase support in your flutter application.

We use firebase in our application for so many different approaches like messaging, database, etc.

So here you can find all these as per your requirement, its provided separately library for that.

Source link:-

4. Provider

State management is an essential part of our application. Provider provides current data model where we currently needed.

The provider is a wrapper around InheritedWidget that makes it easier to use with less boilerplate code.

Provider is the most basic of the Provider widget types. You can use it to provide a value (usually a data model object) to anywhere in the widget tree. However, it won’t help you update the widget tree when that value changes.

And more description, check this

Source link:-

5. Bloc

This is also a state management library. Bloc(Business Logic Component)design pattern. It's something like an MVVM pattern.

The Bloc widget is the basic component you’ll need to implement all business logic. To use it, extend the Bloc class and override the mapEventToState and initialState methods.

Source link:-

6. Getx

It's also a state Management library.GetX provides a combination of State Management, Dependency Injection, and Route Management solutions that work great together.

GetX is an extra-light and powerful solution for Flutter. It combines high-performance state management, intelligent dependency injection, and route management quickly and practically.

Source link:-

7. ReduX

Redux for Dart using generics for typed State. It includes a rich ecosystem of Docs, Middleware, Dev Tools and can be combined with Flutter using the flutter_redux package.

Source link:-

8. Rxdart

RxDart is a reactive functional programming library for Dart language, based on ReactiveX.

It is also a state management solution library.

Source link:-

9. Location

It provides callbacks when the location is changed. we can easily manage our application in maps and other usage that we needed the current location and if the user location changes, then our app updates this realtime without calling the function again and again.

Source link:-

10. riverpod

Riverpod is a reactive caching and data-binding framework that was born as an evolution of the Provider package. According to the official documentation: Riverpod is a complete rewrite of the Provider package to make improvements that would be otherwise impossible.

Source Link:-

11. Sqflite

It provides local database storage like we use Sqlite in Android.

Its mostly used for local storage provide solutions for large table entry create and store.

Source Link:-

12. Cached network image

A flutter library to show images from the internet and keep them in the cache directory.

And main usage of this library is you can only load image one time,after that this library save this in a cache.so you don’t need to load again and again.

Source Link:-

13. SharedPreferences

Shared Preferences is used for storing data key-value pair locally without doing so much code Structure or table creation.

If you are aware about android Shared-preferences then you are seen this library as same.

Source Link:-

14. Intl

This package provides internationalization and localization facilities, including message translation, plurals and genders, date/number formatting and parsing, and bidirectional text.

Source Link:-

15. flutter_regex

The flutter_regex plugin provides comprehensive support for a wide range of regular expression patterns, including basic data validation for usernames, emails, and passwords, support for over 50 country ID regex patterns, and various other specialized patterns for different data formats.

Source Link:-

16. Google fonts

The google_fonts package for Flutter allows you to easily use any of the 977 fonts (and their variants) from fonts.google.com in your Flutter app.

17. charts_flutter

This plugin provides various types of chart structures in you flutter project like Bar chart, line chart, circular chart, etc.

Source Link:-

18. Connectivity_plus

This plugin allows Flutter apps to discover network connectivity and configure themselves accordingly. It can distinguish between cellular vs WiFi connection.

Source Link:-

19. Share

This Flutter plugin for sharing content via the platform share UI, using the ACTION_SEND intent on Android and UIActivityViewController on iOS.

Source Link:-

20. Dio

dio plugin is a powerful HTTP client for Dart, which supports Interceptors, FormData, Request Cancellation, File Downloading, Timeout, etc.

Source Link:-

If you got something wrong? Mention it in the comments. I would love to improve. your support means a lot to me! If you enjoy the content, I’d be grateful if you could consider subscribing to my YouTube channel as well.

I am Shirsh Shukla, a creative Developer, and a Technology lover. You can find me on LinkedIn or maybe follow me on Twitter or just walk over my portfolio for more details. And of course, you can follow me on GitHub as well.

Have a nice day!🙂

--

--

Shirsh Shukla

SDE at Reliance Jio | Mobile Application Developer | Speaker | Technical Writer | community member at Stack Overflow | Organizer @FlutterIndore