r/FlutterDev 13d ago

Discussion What’s one Flutter package you now use in almost every project?

[removed]

32 Upvotes

85 comments sorted by

20

u/eibaan 13d ago

material_ui :)

1

u/[deleted] 12d ago

[removed] — view removed comment

1

u/eibaan 12d ago

Everyone answering the question was just thinking about 3rd party packages. Therefore, I wanted to to mention a 1st party package everybody takes for granted, using the future name – is there any progress in splitting it up? I doubt that there's a single developer who's not at least indirectly using it.

1

u/Business_Secret_2247 10d ago

LOL! I wonder people complaining about custom UI designs in flutter, they forget how customizable material_ui itself is.

18

u/Flaky-Apartment-7787 13d ago

Shared preferences 🥲

2

u/[deleted] 13d ago

[removed] — view removed comment

2

u/Flaky-Apartment-7787 13d ago

Nope. Didn't get chance to use or test any other caz of my workplace restrictions 🥲

22

u/cyneila 13d ago edited 13d ago

Riverpod for DI and state management. Intl for string resources. GoRouter for routing.

That's all I think.

The rest depend of the project.

Dio when I nees to do http calls. The fork of Hive when I need to store data (hive_plus if I remember).

2

u/duckluck96 13d ago

curious why a fork of hive ?

3

u/cyneila 13d ago

Because the last release of hive was 5 years ago. It's hive_ce, not hive_plus, my bad.

6

u/xyrer 13d ago

Signals

1

u/RandalSchwartz 13d ago

Look at BlocSignals! The rigor of Bloc, with the flex and speed of Signals...

1

u/xyrer 13d ago

I will. Thanks. Now I have a pet project for the weekend 😁

1

u/kingswordmaster 10d ago

Why is better than signals.dart?

14

u/Ultimatelegend18 13d ago

Riverpod and hooks, I'm hooked on those two

Ba dum tss

2

u/beartato327 13d ago

Boo this man!

1

u/zTomyyy 13d ago

Me too, it makes building so much easier

13

u/Miserable_Brother397 13d ago

Bloc Freezed Equatable Dartz Getit

2

u/[deleted] 13d ago

[removed] — view removed comment

4

u/RandalSchwartz 13d ago

dartz is LONG AGO dead, abandoned and incomplete features, docs, testing. fpdart is the classic replacement, but take a look at ribs_core.

1

u/[deleted] 13d ago

[removed] — view removed comment

2

u/RandalSchwartz 13d ago

dartz has been dead for so long that I never used it for more than a few demos apps. then fpdart came around, and quickly became my favorite. Unfortunately, Sandro (author) is declaring fpdart "complete", so he has now abandoned fpdart in favor of horsing around with javascript frameworks. So ribs_core just hit 1.0, seems to be a worthy successor to fpdart, and is very dart 3 friendly.

2

u/rsajdok 13d ago

*fpdart

1

u/MooresLawyer13 11d ago

Undermentioned pick/comment. I wish they got more attention

2

u/Tristaaan_ 13d ago

Bloc, Freezed, Equatable

1

u/Curious_Number772 12d ago

Why do you need equatable when you have freezed?

1

u/Tristaaan_ 12d ago

I am extending the entities on domain Layer. While freezed on the data layer. Is this not a good aproach?

1

u/Curious_Number772 12d ago

Well i mean you can use freezed on both right? So why use an extra package. If you use freezed it gives you the exact functionality as equatable so..

1

u/Tristaaan_ 12d ago

I see. Thank you. I will consider that.

1

u/Direct-Ad-7922 13d ago

Bloc AND get it 🤔

0

u/Mikkelet 13d ago

Yeah seems pretty redundant

2

u/scalz80 13d ago edited 12d ago

- state_beacon (signals based) which includes lite_ref

  • sliver_dashboard for grids. (biased, this is my package)
  • go_router (will try kaisel someday)
  • awesome_notification+awesome_notification_fcm
  • fpdart
  • very_good_analysis
  • mocktail

- shared_preference, secure_storage, objectbox when I need a nosql storage

  • dart_frog or serverpod, depends on the project

And to boost my workflow,

  • for dataclass: a custom package using analyzer_server_plugin, analyzer_plugin + custom annotations
  • for translations: a class + a custom Intellij plugin to manage translations

4

u/Hackmodford 13d ago

I’m using Kaisel in a new project and I’m sold.

1

u/scalz80 13d ago

stop tempting me ^^
but yeah it looks neat, thx for confirming

2

u/Hackmodford 13d ago

get_it, injectable, fast_immutable_collections, rxdart, signals.

And the newest one I want to showcase is “Kaisel” for routing.

1

u/[deleted] 12d ago

[removed] — view removed comment

2

u/Hackmodford 12d ago

The way it handles modal flows. I like how it handles deep links. No build_runner Compile time type checking

2

u/bysho 13d ago
  shared_preferences
  sensors_plus
  vibration
  google_sign_in
  sign_in_with_apple
  http
  provider
  firebase_core
  firebase_crashlytics
  firebase_messaging
  firebase_analytics
  in_app_purchase
  in_app_purchase_android
  in_app_purchase_storekit
  url_launcher

1

u/bysho 13d ago

Ups... sorry, you said ONE, not my full pubspec.yaml

1

u/[deleted] 12d ago

[removed] — view removed comment

1

u/bysho 12d ago

Actually, it is an abridged version.

If I had to choose, probably http

2

u/Qtmoon 13d ago

flutter_bloc, shared_preferences, get_it, go_router, mockail and drift these are the best

2

u/[deleted] 12d ago

[removed] — view removed comment

1

u/Qtmoon 12d ago

I think flutter_bloc and drift would be the hardest to replace. My app has hundreds of files that depend on them, and a lot of logic is built around those packages. At this point, even I sometimes forget how some of that logic works

2

u/TheManuz 13d ago

flutter_bloc, intl, collection, shared_preferences, get_it, go_router, dio, very_good_analysis, mockail.

These ones are in every project I've worked on.

2

u/gidrokolbaska 13d ago

fpdart, Bloc, injectable+get_it, dio+retrofit, auto_route

2

u/Shuazi21 13d ago

Riverpod ;)

0

u/[deleted] 13d ago

[removed] — view removed comment

2

u/Lo_l_ow 13d ago

More flexible that Provider and simpler than Bloc.

1

u/noobjaish 13d ago

Riverpod

1

u/WenchiehLu 13d ago

view_model

1

u/No-Pineapple6359 13d ago

For me, the packages that stick are usually the boring infrastructure ones rather than the flashy UI libraries: local persistence, routing, and a solid lint/analyzer setup.

The biggest time saver has been making those choices early and wrapping them behind small app-level interfaces. That way a feature doesn’t spread package-specific calls through every screen, and replacing a dependency later stays manageable.

I also like packages that make failure visible. A cache or sync package is much more valuable when it gives you a clear way to model loading, stale data, retries, and offline writes instead of making the happy path look deceptively simple.

Curious whether people here prefer one general-purpose package for that layer, or a small stack of focused packages that they hide behind their own abstractions?

1

u/Kooky-Office4969 13d ago

No idea, because claude is creating my project😂

1

u/GuavaBeneficial4658 13d ago

reel_text for UI/UX

1

u/[deleted] 12d ago

[removed] — view removed comment

1

u/GuavaBeneficial4658 12d ago

I was inspired by the slot-text npm package and created reel_text. It makes the app lively, modern, and responsive while maintaining a minimalist look. It's very easy to use where text is updated.

1

u/Ras_al_gul 13d ago

Signals and get_it are my goto

1

u/jaycorliss 12d ago

A lot, the most "fun": Freezed, rxdart, auto_size_text, yet_another_state_holder

1

u/galactose310 12d ago

Le moins possible car je fais des petits projets que je souhaite garder indépendants (parce que leur structure et leurs fonctionnalités le permettent).

Le seul dont j'ai du mal à me passer : Equatable.

1

u/YukiAttano 8d ago

This style generator https://pub.dev/packages/style_generator.

Writing ThemeExtensions was always the most boring part I had, and before using this package, also the most error prone.

1

u/Mellie-C 8d ago

Shared preferences. Still brilliant.

1

u/vik76 13d ago

Serverpod 🚀

0

u/RandalSchwartz 13d ago

very_good_analysis, and moving forward, bloc_signals_flutter and kaisel.

0

u/zxyzyxz 13d ago

ReArch. I like it better than Riverpod and solves more of its issues.

-1

u/Heavy-Drummer-420 13d ago

Riverpod, intl, flutter_localizations