each single page is a brand new thing -Mobile has to deal with latency and unreliable connections We need a way to get to content fast and in a reliable way
mobile, tablet, or whatever is next. Connectivity independent - Enhanced with service workers to work offline or on low quality networks. App-like - Use the app-shell model to provide app-style navigation and interactions.
and ensure content hasn’t been tampered with. Discoverable - Are identifiable as “applications” thanks to W3C manifests allowing search engines to find them. Re-engageable - Make re-engagement easy through features like push notifications. Installable - Allow users to “keep” apps they find most useful on their home screen without the hassle of an app store.
this is defined by the browser) time one visits the site — roughly at the point where the browser is sure it’s something you use frequently — a prompt is shown
run by your browser in a separate thread It can: • Intercept every network request • Control cache • Send push notifications • Do work when in background
free space to do what it wants with. That free space is shared between all origin storage: LocalStorage, IndexedDB, Filesystem, and of course Caches. The available space will differ depending on device and storage conditions.
CSS, and JavaScript that is required to power the user interface of a progressive web app -Its first load should be extremely quick, then immediately be cached. -The shell does not need to be loaded every time, but instead just gets the necessary content.
infrastructure and UI from the data UI infrastructure is cached locally using a service worker so that on subsequent loads, the Progressive Web App only needs to retrieve the necessary data, instead of having to load everything.
On the first visit you can render content on the server and install the service worker on the client. On subsequent visits you only request data. You can always put pixels on screen instantly
to focus on speed, giving your Progressive Web App similar properties to native apps: instant loading and regular updates All without the need of an app store.
rendering capabilities React can be seen as the V in MVC. Can be server rendered with Node or ReactJS.net React implements a one-way reactive data flow