Everything in Flutter is a widget. Every component of the UI is made from a widget. Widgets are used to display Ui elements, such as text, buttons, image and more complex elements like lists and forms.
In Flutter, a widget is a class that represents a visual element in the user interface. Widgets can be nested to create more complex layouts, and they can be customized and styled with various properties and parameters.
Widgets respond to state changes, so when the state changes, Flutter will rebuild its description and compare the new description with the previous description to determine the minimal changes needed to change the UI.
# A Few Basic Built-in Widgets
### Text
The `Text` widget lets you create stylized text for your application
### Row / Column
These flex widets lets you create flexible layouts in both the horizontal `Row` and vertical `Column` directions. The design of these are based on the web's flexbox layout model
### Container
The `Container` widget lets you create a rectangular visual element. Containers can be decorated with a `BoxDecoration`, such as a background, a border, or a shadow. They can also have margins, padding, and constraints applied to its size
### Scaffold
Perhaps the most common widget, the `Scaffold` widget provides a basic structure for building material design-style apps. A Scaffold typically contains a number of commonly used UI elements, such as an app bar, a bottom navigation bar, and a floating action button. The scaffold acts as a container for the primary visual elements of a screen, allowing developers to easily organize and layout their content
### Others
For more build-in widgets, you can visit the [widget catalog](https://docs.flutter.dev/development/ui/widgets) on the official Flutter docs page for a full list