Render Arrays and Twig

A core part of the Drupal 8 page assembly process is the use of render arrays in lieu of components generating their own HTML output.  As with much of Drupal, it's not a hard concept to learn - it just hasn't been documented well, and discovering what components are available to you is tricky to figure out.

So, a quick primer on the basics.  Drupal 8 uses the Twig template engine to generate the HTML output for a page.  Twig is driven by data structures called render arrays that provide the raw information that will then get encapsulated in HTML by Twig.  Drupal actually provides a number of Twig "themes" out-of-the-box, but for fancier layouts, you can create, your own Twig template and use it in your render arrays.

Drupal extends base Twig a bit, so the best way to get started with the Drupal version is by reading over the Drupal.org "Twig in Drupal 8" documentation section.