Developing plugin packages

If you want to develop a package that calls into
platform-specific APIs,
you need to develop a plugin package.

The API is connected to the platform-specific
implementation(s) using a platform channel.

Federated plugins

Federated plugins are a way of splitting support for
different platforms into separate packages.
So, a federated plugin can use one package for iOS,
another for Android, another for web,
and yet another for a car (as an example of an IoT device).
Among other benefits, this approach allows a domain expert
to extend an existing plugin to work for the platform they know best.

A federated plugin requires the following packages:

The package that plugin users depend on to use the plugin.
This package specifies the API used by the Flutter app.