Offline First Shopping List
A series of simple Offline First apps, built with the technology you already know
Sometimes the simplest way to explain something is to show someone. We want everyone to be able to get started easily building Offline First apps, so we built the simplest app we could think of - and built it in many technology stacks. The shopping list is an easy concept to understand, and it’s a small enough idea that everyone can understand what it does. By building Progressive Web Apps, hybrid mobile apps, native mobile apps, and even a desktop app we are meeting developers on their home turf, and introducing new ideas in a way they can understand and use.
The Offline First approach plans for the most constrained network environment first, enabling a great user experience even while the device is offline or has only an intermittent connection, and providing progressive enhancement as network conditions improve. It relies on client-side apps and a local datalayer, usually PouchDB or Cloudant Sync, plus background sync to IBM Cloudant or Apache CouchDB.
The demo apps are reference implementations; developers can come here and see how these modern concepts would fit in the context they’re already working with. They can use the code to quickly try out the application, or use it as the basis for their own ideas. The code is ready to run locally and to deploy to IBM Cloud with a single click and serves as study material, live demo and inspiration all in one handy public-GitHub-repository-shaped package.
Many of the shopping list demo applications also have detailed tutorials, walking developers through how the applications were built. For developers looking to understand the basis and use the knowledge in their own applications, these tutorials will point them along the way. You pick your poison: VanillaJS (aka JavaScript), Polymer, Vue.js, React, Preact, Ember.js, React Native, Kotlin, Swift … and we’ve done the rest!
Projects
-
Offline First Sample Implementations
GitHubThe main page for all 12 versions of our shopping list app, each in a different stack.
-
Shopping list demo using Vue.js and PouchDB [Progressive Web App]
GitHub | Tutorial | Live DemoSimple Offline First demo app, showing a shopping list built with Vue.js.
-
Shopping list demo using Polymer and PouchDB [Progressive Web App]
GitHub | Youtube | Tutorial | Live DemoOffline First shopping list example app, built with Polymer.
-
Shopping list demo using vanilla JavaScript and PouchDB [Progressive Web App]
GitHub | Tutorial | Live DemoSimple Offline First shopping list app, built with plain JavaScript.
-
Shopping list demo using React and PouchDB [Progressive Web App]
GitHub | Live DemoOffline first shopping list demo app using React.
-
Shopping list demo using Electron and PouchDB [desktop app]
GitHubA demo series featuring reference implementations using different stacks, but always featuring offline-first design.
-
Shopping list demo using Kotlin and Cloudant Sync [native mobile app]
GitHubA demo series featuring reference implementations using different stacks, but always featuring offline-first design.
-
Shopping list demo using Swift and Cloudant Sync [native mobile app]
GitHubA demo series featuring reference implementations using different stacks, but always featuring offline-first design.
-
Shopping list demo using Ionic and PouchDB [hybrid mobile app]
GitHubA demo series featuring reference implementations using different stacks, but always featuring offline-first design.
-
Shopping list demo using React Native and PouchDB [hybrid mobile app]
GitHubA demo series featuring reference implementations using different stacks, but always featuring offline-first design.
-
Shopping list demo using Ember.js and PouchDB [Progressive Web App]
GitHubA demo series featuring reference implementations using different stacks, but always featuring offline-first design.
-
Shopping list demo using Preact and PouchDB [Progressive Web App]
GitHubA demo series featuring reference implementations using different stacks, but always featuring offline-first design.
-
Shopping list demo using Cordova and PouchDB [hybrid mobile app]
GitHubA demo series featuring reference implementations using different stacks, but always featuring offline-first design.