But Flutter is flexible and expressive enough
to implement any design language.
On iOS, you can use the Cupertino widgets
to produce an interface that looks like
Apple’s iOS design language.

Updating Widgets

To update your views in UIKit, you directly mutate them.
In Flutter, widgets are immutable and not updated directly.
Instead, you have to manipulate the widget’s state.

This is where the concept of Stateful vs Stateless widgets
comes in. A StatelessWidget is just what it sounds
like—a widget with no state attached.

StatelessWidgets are useful when the part of the user interface you are
describing does not depend on anything other than the initial configuration
information in the widget.

For example, with UIKit, this is similar to placing a UIImageView
with your logo as the image. If the logo is not changing during runtime,
use a StatelessWidget in Flutter.