The widgets are the building blocks that you can use to create different applications.
Widgets are organized in a tree structure. A widget tree represents an application. The following diagram illustrates the differences between a widget definition and widget instance. The widget definition describes the widget type, id, name, view, and controller classes. A widget used in an application is an instance of the widget definition.