This doesn’t mean Flutter apps can’t interact with those native APIs,
or with any native code you have. Flutter provides platform channels
that communicate and exchange data with the
ViewController or Activity that hosts your Flutter view.
Platform channels are essentially an asynchronous messaging mechanism
that bridges the Dart code with the host ViewController
or Activity and the iOS or Android framework it runs on.
You can use platform channels to execute a method on the native side,
or to retrieve some data from the device’s sensors, for example.

In addition to directly using platform channels,
you can use a variety of pre-made plugins
that encapsulate the native and Dart code for a specific goal.
For example, you can use a plugin to access
the camera roll and the device camera directly from Flutter,
without having to write your own integration.
Plugins are found on pub.dev,
Dart and Flutter’s open source package repository.
Some packages might support native integrations on iOS,
or Android, or both.