The app shell model suggests that the app shell containing the minimum required HTML, CSS & JavaScript is loaded first and then content is loaded dynamically afterwards. This seems to imply the lazy loading of content using JavaScript and APIs.
For example the PWA mentioned in the article above Google I/O 2016.
However such an approach means that your content is only available for JavaScript-enabled browsers.
This could also impact search engine indexing, for example when testing the Google I/O 2016 website, the content is not available if you disable JavaScript.
What is the recommended approach, as this seems to go against the principle of progressive enhancement?