Is the IndexedDB API available to an Ionic 3 PWA running on an iPad?


#1

HI all –

My app needs to storage a potentially massive amount of client-side data for offline use. It’s a progressive web app, but we are targeting iPads as the user agent.

When I say “massive”: the app allows users to edit a set of records, and they can add 20–30+ photos to each record (using the iPad’s camera).

This chart suggests that IndexedDB is my only real option for this use case. However, I wanted to confirm some things before I forge ahead with IndexedDB:

  • Given that my app is a PWA, can I be confident that it will have access to the IndexedDB API when running on an iPad?

  • Side question: the chart linked above mentions “iOS WebView”. I’m not familiar with WebView – but I assume that it’s the browser “shell” that will host my PWA once it’s installed on the user’s home screen. Is that correct?

  • The chart linked above says that iOS WebView 8 limits IndexedDB storage “up to quota”. How is this quota determined? Is it user-adjustable per app?

(I’m aware that Ionic’s Storage module supports IndexedDB, so that’s good – it’ll save me the hassle of integrating some third-party library. I don’t love the fact that @ionic/storage doesn’t support queries, but I can deal with that.)

Thanks for any light you can shed!


#2

According to caniuse, I think you can rely on this as long as the device is running iOS >= 10.2.