For the wunderground.com project, our mandate was to use the same Drupal 7 platform originally built for weather.com. The Presentation Framework, as has been written and spoken about extensively elsewhere, is a progressive decoupling tool allowing front-end developers to write pieces of Angular 1 functionality without knowing any Drupal API’s. These components are then ingested by Drupal and turned into CTools content types, aka Panels panes. This allows editorial teams to place these client-side rendered widgets on pages and create new pages and layouts by themselves.
In some ways, Angular 2 is a more natural fit with the framework. For one, we had imposed an independent(-ish) structure on our angular widgets, placing each distinct piece of functionality in a separate directory to be ingested by Drupal as a separate CTools content type. This compartmentalization of logic is not inherent to Angular 1. However, Angular 2 is component based, and components operate under very similar suppositions of compartmentalized logic to that we’d originally imposed.
In our next installment, we will examine the first major architectural challenge our team encountered in the project, exactly how to bootstrap our components on the page.
Migrating Weather.com to Drupal: The Presentation Framework | Blog Post
Supplying Thumbnails to Your Headless Drupal Front End | Blog Post
Decoupled Drupal 8 | Presentation