With the introduction of progressive web apps and browser APIs such as persistent storage, payments, geolocation, and push notifications, it is now possible to build fully featured mobile apps on the web platform. One important aspect of progressive web apps is the concept of building your app to be offline first. With an offline-first approach, you design your app for the most resource-constrained environment first. This approach provides a consistent user experience whether the user’s device has no connectivity, limited connectivity, or great connectivity.
The Service Worker API can do most of the heavy lifting when it comes to storing content and assets for offline-first progressive web apps. A bigger challenge can be storing and syncing your app’s data. One of the best answers today for offline sync for progressive web apps is a combination of Apache CouchDB (an open source document database), Hoodie (an open source Node.js backend for offline-first apps), and PouchDB (an open source JavaScript database that syncs). This stack can provide you with the starting point for your own progressive web app mobile backend and frontend, and it’s entirely open source.
Bradley Holt demonstrates how service workers, Apache CouchDB, Hoodie, and PouchDB can be used to build progressive web apps using an offline-first approach in order to provide fast, zero-latency access to content and data stored directly on the device.