Book Image

Offline First Web Development

By : Daniel Sauble
Book Image

Offline First Web Development

By: Daniel Sauble

Overview of this book

When building mobile apps, it’s easy to forget about the moments when your users lack a good Internet connection. Put your phone in airplane mode, open a few popular apps, and you’ll quickly see how they handle being offline. From Twitter to Pinterest to Apple Maps, some apps might handle being offline better—but very few do it well. A poor offline experience will result in frustrated users who will abandon your app, or worse, turn to your competitor’s apps Expert or novice, this book will teach you everything you need to know about designing and building a rigorous offline app experience. By putting the offline experience first, you’ll have a solid foundation to build upon, avoiding the unnecessary stress and frustration of trying to retrofit offline capabilities into your finished app. This basic principle, designing for the worst-case scenario, could save you countless hours of wasted effort.
Table of Contents (17 chapters)
Offline First Web Development
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Chapter 4. Getting Online

We've seen that adding a little bit of online capability can really hurt our adherence to the offline design principles. By default, most libraries and frameworks don't handle being offline very gracefully, so we need to implement our own handling of these situations. In this chapter, we'll do exactly this.

Caching enables the illusion of being online when you're not. However, there are two types of caching: short-term caching, which is persistent per session, and long-term caching, which is persistent across sessions. In the context of mobile app development, restarting the app will clear the short-term cache but should leave the long-term cache intact. Most apps support short-term caching by default. To enable long-term caching, you'll need to do a bit more work.

Fortunately, solving the long-term caching problem is relatively straightforward. There are a great number of libraries and tools to make this easy. We'll discuss a few of them in this chapter, including...