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
Phil Nash
September 21, 2015
Programming
0
150
Data: online and off
Phil Nash
September 21, 2015
Tweet
Share
More Decks by Phil Nash
See All by Phil Nash
Four steps from JavaScript to TypeScript
philnash
3
370
JavaScript Apps Go Intl - GIDS Live 2021
philnash
2
210
You're on Mute! WebRTC and our Lives on Screen - GIDS Live 2021
philnash
1
230
Better API DX with a CLI - APIdays Jakarta
philnash
0
300
The trouble with webhooks - at Apidays Live Hong Kong
philnash
2
160
Four steps from JavaScript to TypeScript
philnash
0
360
Fantastic passwords and where to find them - at NoRuKo
philnash
42
2.7k
The trouble with webhooks - at APIdays Singapore
philnash
0
250
What's going on with Project Fugu? at DevTalks Reimagined
philnash
0
370
Other Decks in Programming
See All in Programming
英語
s_shimotori
1
220
はしめてのプログラミングとロボット制御
watawatavoltage
0
290
わかりやすい正解を捨てて、コトに向き合う - スクラムフェス金沢2024 スポンサーセッション
yusukekokubo
0
170
HMSコンペ 11th Solution (team : kansai-kaggler)
t88
1
680
Introduction to GitOps
hwchiu
0
110
小さな開発会社を作った理由
polidog
0
1.9k
Mastering Developer Experience: A Roadmap for Success 【開発生産性Conference 2024】
findyinc
1
380
CSC307 Lecture 11
javiergs
PRO
0
240
Harnessing Large Language Models for Training-free Video Anomaly Detection
tereka114
1
1.3k
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
81k
Xcode 16のPreviewModifierと@Previewableを活用した効率的なプレビュー方法の考察
ojun9
2
160
Architectures with Lightweight Stores: New Rules and Options
manfredsteyer
PRO
0
100
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
35
6.3k
BBQ
matthewcrist
82
9k
Web Components: a chance to create the future
zenorocha
307
41k
Being A Developer After 40
akosma
72
580k
Facilitating Awesome Meetings
lara
46
5.8k
Optimising Largest Contentful Paint
csswizardry
18
2.6k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
What's new in Ruby 2.0
geeforr
338
31k
Debugging Ruby Performance
tmm1
71
11k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
The Cost Of JavaScript in 2023
addyosmani
31
4.7k
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