Offline first est une approche du développement de logiciels dans laquelle les développeurs construisent les fonctionnalités de base d'une application pour fonctionner avec ou sans connexion Internet. Avec une approche hors ligne, les données sont écrites localement sur l'appareil de l'utilisateur final et sont périodiquement téléchargées et répliquées dans le nuage. L'objectif principal de la stratégie hors ligne est d'offrir aux utilisateurs finaux une expérience utilisateur (UX) cohérente, même lorsque l'internet n'est pas disponible ou lent. L'architecture pousse les données et la logique applicative à la périphérie du réseau et la plupart des traitements ont lieu sur l'appareil de l'utilisateur final. Cette approche garantit non seulement que la fonctionnalité de base de l'application continuera de fonctionner en l'absence d'une connexion réseau fiable, mais elle permet également aux utilisateurs mobiles d'utiliser plus efficacement les ressources de la batterie et la bande passante. C'est particulièrement important pour les utilisateurs finaux qui voyagent fréquemment et ont un accès limité à l'internet.
Parce que cela facilite la tâche des employés dans les pays en développement, les fournisseurs de logiciels favorisent d'abord le hors ligne. Cela permet à toutes sortes de vendeurs d'étendre leur clientèle numérique à des régions jusqu'alors inconnues.
Offline first est parfois comparé à mobile first, une stratégie de développement logiciel dans laquelle les applications sont conçues pour les utilisateurs mobiles avec de petits écrans, puis progressivement améliorées pour les utilisateurs avec des écrans plus grands. Ces deux stratégies encouragent les développeurs à créer d'abord des applications pour les environnements les plus limités en ressources. Les capacités de synchronisation et de réplication avancées sont des caractéristiques essentielles des bases de données documentaires qui ont été conçues avec un minimum de connexions en tête. Cela réduit considérablement le coût et la difficulté liés à la création et à la maintenance d'applications qui synchronisent les données entre les clients et les magasins de données centraux du cloud. Par exemple, une application peut utiliser PouchDB, la version d'Apache CouchDB intégrée au navigateur, pour fonctionner en l'absence de connexion Internet et CouchDB pour synchroniser les données dès qu'une connexion est disponible.