API Ergonomics

Being fast only matters if the framework can actually be used effectively.
To guide Flutter’s API design towards greater usability, Flutter has been
repeatedly tested in extensive UX studies with developers. These studies
sometimes confirmed pre-existing design decisions, sometimes helped guide
the prioritization of features, and sometimes changed the direction of the
API design. For instance, Flutter’s APIs are heavily documented; UX
studies confirmed the value of such documentation, but also highlighted
the need specifically for sample code and illustrative diagrams.

This section discusses some of the decisions made in Flutter’s API design
in aid of usability.

Specializing APIs to match the developer’s mindset

The base class for nodes in Flutter’s Widget, Element, and RenderObject
trees does not define a child model. This allows each node to be
specialized for the child model that is applicable to that node.