Functions that we don't want to execute immediately rather a later time (Like on pressing a button) We need to call that without parenthesis
The widgets that we can see on the screen like text, button etc are visible widgets here. On the other hand widgets that are not visible on the screen but are very important to structer the other widgets on the app screen , most of them are layout widgets like row, column, container, stack etc .
'var' Stands for variable that is it's value can be changed at any time . 'final' stands for dynamic constant I say , if we know our value won't change if our program runs once that is it is constant after runtime , thats why we call it runtime constant. 'const' on the other hand stands for constant and can not be changed at any time , its value is always fixed thats why its called compile time constant.