Many online tutorials that teach how to build software focus on storage, exchange and visualization of state, but there is an inherent problem with state.
Web components do not 'just work', they need to be defined as custom elements before their tags will be interpretted by the browser. At first I thought this would be annoying, but in reality this aspect makes them perfect for use as feature flags.
In this article I'll to dig a little bit deeper into the 'installation' phase of a progressive web app and show how you can leverage google workbox to make your app available offline.
The application shell pattern provides a way to build Progressive Web Apps in a consistent way and instantly loads it on your users' screens, similar to what you see in native applications.