Fluent adopts a declarative UI layout.
Why declarative UI
The framework from Win32 to the web to Android and IOS usually uses the command UI programming style, which is probably the most familiar style – you manually build a full-featured UI entity, and then use the method to change it when the UI is changed.
In order to reduce the programming burden for developers to transition between various UI States, fluent lets developers describe the current UI state without caring about how it transitions to the framework.
Instead of changing the old routine when the UI changes, the framework uses renderobjects to manage many responsibilities of traditional UI objects (such as maintaining the state of the layout). Renderobjects remain unchanged between frames. The lightweight widgets of the flutter tell the framework to change renderobjects between states. Then the flutter framework will process the rest.