In Flutter, build a custom widget by composing
smaller widgets (instead of extending them).
It is somewhat similar to implementing a custom control
based off a Grid with numerous VisualElements added in,
while extending with custom logic.

For example, how do you build a CustomButton
that takes a label in the constructor?
Create a CustomButton that composes a ElevatedButton
with a label, rather than by extending ElevatedButton:

Then use CustomButton, just as you’d use any other Flutter widget:

Navigation

How do I navigate between pages?

In Xamarin.Forms, the NavigationPage class
provides a hierarchical navigation experience
where the user is able to navigate through pages,
forwards and backwards.

widget that manages routes.