Provider vs. Get_it

The main difference between both is that provider is not strictly dependency injection.

By using widgets, provider is also able to:

  • providers are compatible with the Flutter devtool
  • know when a variable cannot be accessed (scoped to a tree)
  • know when to create and dispose of an object
  • synchronize model -> model and model -> UI
  • override some values for only a specific widget tree
  • voluntarily prevent circular dependency

All of these are, while optional, good for the health of your app in the long run.

It ensures that you’re always up to date, makes it harder to have “spaghetti code”, and makes your different elements more composable.

Leave a Comment