flutterfire_cli icon indicating copy to clipboard operation
flutterfire_cli copied to clipboard

request: Let `flutterfire config` ACTUALLY handle all of the configurations needed

Open lucavenir opened this issue 3 years ago • 0 comments

Is there an existing feature request for this?

  • [X] I have searched the existing issues.

Command

flutterfire configure --plugin [plugin]

Description

flutterfire configure is now offering a quick way to configure a new Flutter + Firebase project (when it comes to Firebase Core), and that's cool!

Anyhow, I feel like this should also apply to all the non-beta plugins Firebase has to offer. Say that our project needs Firestore. Then, the average developer should be able to do:

flutter pub add cloud_firestore
flutterfire configure --plugin cloud_firestore

As an example, in this case the plugin should ensure:

  1. The minimum iOS target is compatible to the new plugin added: if not, change that;
  2. The multidex support for Android is enabled: if not, change that;
  3. The build times are optimized; if not, change that.

... et voilà! The average developer is good to go. The objective is to expect flutter configure to handle a lot of the details the average developer shouldn't even be aware of and that usually consume A LOT of time, googling, error-prone configuring. Stuff that isn't making anyone productive and that actually is just a detail / procedure that everyone must implement anyways.

Reasoning

This request arises from the bad developer experience needed to start a Firebase + Flutter project as described in this issue.

Summary:

  1. Starting a new Flutter + Firebase project isn't as easy as it is sold;
  2. Several smells and obstacles are guaranteed to be encountered**;
  3. As described in the aforementioned issue, and as cited in other issues*, optimizing build times is becoming painful.

Additional context and comments

*issues citing problems with manually optimizing build times:

  • https://github.com/invertase/firestore-ios-sdk-frameworks/issues/53
  • https://github.com/firebase/flutterfire/issues/9015

** issues citing smells and un-intuitive config behavior:

  • https://github.com/firebase/flutterfire/issues/7753

lucavenir avatar Jul 21 '22 08:07 lucavenir