This article mainly covers the automatic adaptations
provided by Flutter in case 1 on Android and iOS.

For case 2, Flutter bundles the means to produce the
appropriate effects of the platform conventions but doesn’t
adapt automatically when app design choices are needed.
For a discussion, see issue #8410 and the
Material/Cupertino adaptive widget problem definition.

For an example of an app using different information
architecture structures on Android and iOS but sharing
the same content code, see the platform_design code samples.

Page navigation

Flutter provides the navigation patterns seen on Android
and iOS and also automatically adapts the navigation animation
to the current platform.

Navigation transitions

On Android, the default Navigator.push() transition
is modeled after startActivity(),
which generally has one bottom-up animation variant.

On iOS: