Element
The Element
model represents the DOM tree. Element
alone cannot render a view because we don't know what type of HTML element to render for each node.
An Element
could choose what to render using either of the following:
Element.componentRenderType
This is basically a reference to a custom Component, so this Element
will render that component.
Element.atomRenderType
This is basically a reference to an Atom, so this Element
will render that atom.
Atom
An Atom
is a predefined component type to be rendered, it could be an HTML tag or a UI framework component. The main part is that this is hardcoded in our codebase and can't change.
Component
Just like a Page
holds a tree of Element
, a Component
holds a tree of Element
as well.