The terms "offline-first" and "local-first" have become more established and distinct concepts in the developer community for referring to various classes of apps, since my original Reddit post in 2023 where I introduced the concept of "offline-second" to clear up some misclassifications. Since there is still frequent cross-talk (mixing of terms) on this topic, I've included the clearest current definitions here, sorted from their most-to-least requirement for internet/server access:
-
Online / Cloud apps (always requires internet/server access to be used). Most webapps.
-
Offline-Second apps (Cloud-First + Local Cache + Queued writes): The app is built assuming it will most frequently be used with an internet connection. Developers add caching layers (like Service Workers, IndexedDB, or local SQLite) after the core features are built so the app does not crash when the network drop