Shell App Architecture

In this architecture instead of having one HTML file per page in the website, this approach involves making a single HTML file for the entire application.

So how do we get different pages?

We can generate them programmatically using Javascript.

In the words of Addy Osmani from Google:

The app "shell" is the minimal HTML, CSS and JavaScript required to power the user interface and when cached offline can ensure instant, reliably good performance to users on repeat visits. This means the application shell is not loaded from the network every time the user visits. Only the necessary content is needed from the network.

https://developers.google.com/web/fundamentals/architecture/app-shell