- Home ›
- Categories ›
10 Flutter Packages You Must Know In 2022
One thing I love about Flutter and the Dart environment is the immense number of packages that are available. Most of them really make a developer’s life easier. This is why I want to share with you 10 packages that I think you need to know.
Beamer is a package that build on the Flutter Navigator 2.0 API. It allows for defining your app’s routing in a declarative way (opposed to Navigator 1.0 that uses an imperative approach). It is simple to use, comes with many examples and includes features like guards, nested routing and also allows a lot of customization.
2. Flutter Flavorizr
If you have ever tried to set up a multi-environment (development, staging, production) application in Flutter, you probably know that it can get tricky having multiple iOS schemas, Android flavors, icons, Firebase configurations and more that you need to handle.
The flutter_flavorizr package comes to the rescue here. It allows you to specify your app structure in the
pubspec.yaml file and lets you generate an app stub. This comes really handy and safes you a lot of time!
3. Flutter Launcher Icons
A similar package is flutter_launcher_icons. It allows you to generate all the launcher icons you need from a single source. Packages like these make your life so much easier 🙂
You want to get rid of the boring old
CircularProgessIndicator? Use the shimmer package to create some cool placeholders while your app is loading data. The package is highly customizable yet really easy to use.
State management is a topic with many opinions and strong feelings involved. There are many good solutions out there, but for me, riverpod (respectively flutter_riverpod) is the preferred solution. For me, it’s both simple enough, yet very powerful which makes the perfect combination for my needs.
Unsurprisingly, this is also why I have written several blog posts on how I use Riverpod like: Tutorial: Simple Riverpod App Architecture in Flutter, Tutorial: Using Sembast with Riverpod, or Tutorial: Simple Themes in Flutter using Riverpod.
Have you noticed that Riverpod is an acronym of Provider? If you reorder the letters of Provider you’ll get Riverpod. 🙂
6. Charts Flutter
If you have a lot of data that you want to display in your app, charts are a good idea. Nevertheless, creating charts yourself can be a tedious task. Luckily, charts_flutter gives you the tools you need to display your data in a well readable fashion.
I have used this library to create statistics of expenses tracked in my travel expense tracker app, Trexpense.
7. In App Review
Once your app hits the stores, a good rating helps your app to be found by new users. You can increase the number of reviews by elegantly asking your users to give you a rating from directly within the app. The in_app_review package allows you to show this dialog with next to no configuration effort needed.
By no means a secret, and an essential package I’m using in almost all of my apps is freezed. This package generates many convenient functions for your data (model) classes and allows you to create sealed (or union) classes. Together with the next two packages in the list, it forms a dream team for apps connecting to a REST API.
9. JSON Serializable
In combination with freezed, json_serializable makes it more than easy to convert a Dart class to and from JSON. In its basic form, it does not require any configuration, but it allows you exactly define how the serialization processes should work if you need to adapt.
Like the Android library of the same name, retrofit makes it effortless to generate everything that is necessary for sending and receiving data from a REST API. It works perfectly with freezed and json_serializable and this is why I use this “trinity” in many of my apps.
There are many great packages out there, almost every one of them helps you to save a lot of time in your development process. These packages are far from all the packages I use, and it was hard to decide on my favorite 10 packages.
I’m curious which packages you like the most! Leave me a comment below and tell me which packages I have missed in my listing.
To do more readable the flutter coding