A Flutter application is defined as a tree of widgets. Every time we try to code for developing anything in Flutter, it will be in the widget. Widgets explain how our application must look like with its present state and configuration. When we make any change in the code, the widget reconstructs its description by computing the difference of current and previous widgets to evaluate the minimum changes to render the UI of the app.