Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Data: online and off
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Phil Nash
September 21, 2015
Programming
170
0
Share
Data: online and off
Phil Nash
September 21, 2015
More Decks by Phil Nash
See All by Phil Nash
Four steps from JavaScript to TypeScript
philnash
3
560
JavaScript Apps Go Intl - GIDS Live 2021
philnash
2
360
You're on Mute! WebRTC and our Lives on Screen - GIDS Live 2021
philnash
1
370
Better API DX with a CLI - APIdays Jakarta
philnash
0
440
The trouble with webhooks - at Apidays Live Hong Kong
philnash
2
280
Four steps from JavaScript to TypeScript
philnash
0
480
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
The trouble with webhooks - at APIdays Singapore
philnash
0
400
What's going on with Project Fugu? at DevTalks Reimagined
philnash
0
620
Other Decks in Programming
See All in Programming
実践CRDT
tamadeveloper
0
590
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
180
10 Tips of AWS ~Gen AI on AWS~
licux
5
460
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
850
GoogleCloudとterraform完全に理解した
terisuke
1
150
CDK Deployのための ”反響定位”
watany
5
810
Terraform言語の静的解析 / static analysis of Terraform language
wata727
1
110
Coding as Prompting Since 2025
ragingwind
0
840
Server-Side Kotlin LT大会 vol.18 [Kotlin-lspの最新情報と Neovimのlsp設定例]
yasunori0418
1
180
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
1.1k
UIの境界線をデザインする | React Tokyo #15 メイントーク
sasagar
2
380
AIエージェントで業務改善してみた
taku271
0
540
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
280
Building Applications with DynamoDB
mza
96
7k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
490
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
ラッコキーワード サービス紹介資料
rakko
1
3.1M
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
Tell your own story through comics
letsgokoyo
1
900
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Transcript
DATA: ONLINE AND OFF
Phil Nash @philnash http:/ /philna.sh
[email protected]
DATA: ONLINE AND OFF
OFFLINE FIRST
Offline first An application that treats the network as an
enhancement
Not offline first • Graceful failure to network requests •
Just saving data client side
None
None
THINGS TO CONSIDER
ASSETS
SERVICE WORKER
None
USER DATA
None
DATA: ONLINE AND OFF
Data: online and off • Traditional application data storage •
Traditional vs offline first • Browser based data storage • Offline first and data
TRADITIONAL APPLICATION DATA STORAGE
GET / POST
Traditional application data storage 1. POST data to a server
2. Server stores data in a database 1. GET request for data 2. Server interprets request and delivers
OFFLINE?
TRADITIONAL VS OFFLINE FIRST
INTERACT LOCALLY
Interact locally • Save data locally • Retrieve data from
local cache
Interact locally • Crazy fast! • The network doesn't matter
THEN SYNC
Sync • People have multiple devices • Good as a
backup
Sync • Can be asychronous • Can be intentional •
Requires network
DATA STORAGE IN THE FRONT END
LOCALSTORAGE
LocalStorage • Simple key value store • Synchronous (slow)
WEBSQL
WEBSQL
INDEXEDDB
IndexedDB • Asynchronous • o_O
MAKING DATA OFFLINE FIRST
Making data offline first We need something that is: •
Easily distributed • Eventually consistent • Resolves conflicts • Web friendly
None
CouchDB Apache CouchDB™ is a database that uses JSON for
documents, JavaScript for MapReduce indexes, and regular HTTP for its API
None
PouchDB • CouchDB for the browser/Node • Wraps IndexedDB or
WebSQL • LocalStorage adapter available as a plugin
DEMO
Offline first • The time for offline first is now
• Distributing data like this requires a change of mindset • Not all application data needs to be stored this way
Help me! On a scale of 0 to 10, how
likely is it that you would recommend this talk to a friend or colleague? 0203 322 5761
Thanks! @philnash http:/ /philna.sh
[email protected]
On a scale of 0
to 10, how likely is it that you would recommend this talk to a friend or colleague? 0203 322 5761