Understanding Flutter widgets is essential if you want to work with it. You know Flutter takes control of rendering and does this with extensibility and customization in mind, intending to add power to the developer's hands. Let's see how Flutter applies the widgets idea in app development to create awesome UIs.
Widgets can be understood as the visual (but not only that) representation of parts of the application. Many widgets are put together to compose the UI of an application. Imagine it as a puzzle in which you define the pieces.
The intention of widgets is to provide a way for your application be modular, scalable, and expressive, with less code and without imposing limitations. The main characteristics of the widgets UI in Flutter are composability and immutability.