From mobile first to offline first
Despite the name, offline first isn’t (only) about being offline. The idea behind offline first, as opposed to mobile first, is to design your app for the most resource-constrained environments first and then apply progressive enhancement techniques to make your app work better and better as it has access to more and more resources. Using an offline-first approach means your app will not only work offline, but your app will work better when it has access to only a flaky network connection and will work even better when it has a great network connection.
One of the biggest benefits of an offline-first approach has nothing to do with being offline. Offline-first apps are faster and more responsive than their cloud-dependent counterparts. An offline-first app stores most (if not all) of its content and data directly on the local device, allowing you to read, create, update and delete things quickly while accessing all of your data on the device. Your offline-first app is then able to access content, sync data or enable features that are usually completed with the app is connected. However, your users are still able to interact with the app even when it doesn’t have a reliable connection.
Offline first is a concept that is applicable to any type of app that would typically depend on a network connection. This includes Progressive Web Apps, native mobile apps, hybrid mobile apps (apps built using web technologies that are packaged up as native apps), desktop apps and even IoT apps. Many native apps already take an offline-first approach, though some are still quite dependent on a constant connection to a mobile back end.
Web apps have traditionally been built as client/server applications. However, Progressive Web Apps are beginning to change this. The basic idea of Progressive Web Apps is to combine the discoverability of web apps with the power of native mobile apps. As an end user, you browse to a Progressive Web App just like you would browse to any other website. The more you use the app, the more native capabilities it gains, including the ability to send you alerts and notifications, as well as the ability to install to your home screen. Offline first is a common characteristic of Progressive Web Apps.