Hey wassup flutter devs!
Did you know? More than 70% of successful Flutter developers use specific libraries and frameworks.
If you're not leveraging these tools, you might be missing out on a goldmine of productivity.
Let's dive in!
1. Provider
State management solution recommended by the Flutter team.
Easily connect your model to your UI.
Provides reactivity without the need for additional code.
How to use it:
void main() => runApp(
ChangeNotifierProvider(
create: (context) => MyModel(),
child: MyApp(),
),
);
2. Dio
A powerful HTTP client for Dart.
Supports Interceptors, Global configuration, and FormData.
Offers timeout and custom interceptors.
How to use it:
final Dio dio = Dio();
final Response response = await dio.get('https://www.example.com');
3. Flutter Bloc
Implements the BLoC pattern for state management.
Separates presentation from business logic.
Reactive state management.
How to use it:
BlocProvider(
create: (BuildContext context) => MyBloc(),
child: MyWidget(),
);
4. RxDart
Provides reactive extensions for Dart.
Enhances the capabilities of Dart streams.
Offers operators to combine, create, or modify data streams.
How to use it:
final myObservable = Stream<int>.value(1);
5. CachedNetworkImage
Caches images for faster load times.
Provides error widgets and placeholders.
Offline image loading from cache.
How to use it:
CachedNetworkImage(
imageUrl: "https://www.example.com/image.jpg",
placeholder: (context, url) => CircularProgressIndicator(),
errorWidget: (context, url, error) => Icon(Icons.error),
);
6. GetX
All-in-one solution for state management, routing, and dependencies.
Lightweight and powerful.
Reactive state management without boilerplate.
How to use it:
Get.to(() => NextScreen());
7. Flutter SVG
Display SVG format images in Flutter.
Provides color filtering and painting.
Ensures crisp visuals regardless of device resolution.
How to use it:
SvgPicture.asset('assets/image.svg')
8. Shared Preferences
Allows for persistent storage of simple data.
Key-value storage for basic data types.
Synchronous and asynchronous methods available.
How to use it:
final SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setInt('counter', counter);
9. Shimmer
Provides a shimmering effect for placeholders.
Enhances UI/UX during data loading.
Easily customizable with colors and shapes.
How to use it:
Shimmer.fromColors(
baseColor: Colors.grey[300]!,
highlightColor: Colors.grey[100]!,
child: Text('Shimmering Text'),
);
10. Flutter Launcher Icons
Simplifies updating your Flutter app's launcher icon.
Supports adaptive icons for Android.
Batch processing for multiple icon configurations.
How to use it: First, add your desired icon to the assets. Then, in your pubspec.yaml
:
flutter_icons:
android: true
ios: true
image_path: "assets/icon.png"
Run flutter pub run flutter_launcher_icons:main
and voila!
Before We Go...
Hey, thanks for sticking around! If this post was your jam, imagine what’s coming up next.
I’m launching a YouTube channel, and trust me, you don't want to miss out. Give it a look and maybe even hit that subscribe button?
Until we meet again, code on and stay curious!
Got any doubt or wanna chat? React out to me on twitter or linkedin.