~/talk

How we developed an Offline‑First app using Persistent Storage

TalkinRussianat JavaScript fwdays'19 · on Saturday, 2019-03-16· [pwa, web-platform]
slides:none on file

A team built an Offline‑First web app with native‑level features by replacing a C++ core with JavaScript to allow offline PDF signing and annotation and to queue changes for later sync. They use IndexedDB for persistent storage, moved to Lovefield (an SQL engine on top of IndexedDB) for querying, employ Web Workers with ArrayBuffer transfer for cryptography and large file I/O, and use service workers for static assets, while addressing storage quota probing, eviction, private‑mode limits and data migration across browsers.

AI-written summary · about

  1. 0:00Introduction
  2. 1:50Early app issues
  3. 3:15Offline app goals
  4. 4:40Static caching
  5. 5:44Reliable data storage
  6. 7:28IndexedDB in browser
  7. 9:12IndexedDB low-level issues
  8. 9:55Dexie.js for data
  9. 13:48Data architecture
  10. 14:57Data transfer in Web Workers
  11. 16:45Files in IndexedDB
  12. 17:57Web Workers pros/cons
  13. 20:03Browser storage limits
  14. 21:50Persistent Storage features
  15. 23:11Server data sync
  16. 24:58Online/offline detection
  17. 25:59Future of IndexedDB
  18. 27:45PWA installation
  19. 28:48Offline architecture tips
  20. 31:37Large change queues
  21. 33:05Mobile app install
  22. 35:13Offline server sync
  23. 36:58Firefox support
  24. 37:38Legacy browser support
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.