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
ServiceWorker、indexedDBを活用したオフライン機能開発
Search
koji_kawamura
November 22, 2023
400
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ServiceWorker、indexedDBを活用したオフライン機能開発
koji_kawamura
November 22, 2023
More Decks by koji_kawamura
See All by koji_kawamura
AIにブラウザを触らせて、E2EテストをPlaywrightで書く
koji_kawamura
0
170
ランチ中のXで自社インシデントを検知した話(2026年7月24日唐揚げ会)
koji_kawamura
0
23
アウトプットが全ての悩みを解決する
koji_kawamura
0
20
Qiitaハッカソン
koji_kawamura
0
57
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Practical Orchestrator
shlominoach
191
12k
Site-Speed That Sticks
csswizardry
13
1.5k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Docker and Python
trallard
47
4.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Abbi's Birthday
coloredviolet
3
9.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
340
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Transcript
© 2022 HITOTSU,Inc. ServiceWorker、 indexedDBを活用した オフライン機能開発 HITOTSU株式会社 2023年11月21日(火)
© 2022 HITOTSU,Inc. 2 自己紹介 氏名:河村 康治 Twitter:kkfactory0705 趣味:野球観戦 Qiita:koji0705
経歴: 2017年4月 保険系SIer4年 2021年9月 フリーランス 2023年5月 HITOTSU株式会社 入社 経験言語 ・React(TypeScript) ・GoLang ・Node.js ・Java
© 2022 HITOTSU,Inc. 3 オフライン機能とは 01
© 2022 HITOTSU,Inc. 4 Webシステムのオフライン環境で以下機能を提供。 オフライン機能とは オンライン時に⾃動 データ取得 オンライン時にオフラインで必要なデ ータを⾃動取得。
オンライン復旧時の ⾃動同期 オフライン→オンライン復旧時、デー タを⾃動同期。 動的ページの⽣成 (検索/並び替え/ペ ージネーション) オフライン環境にて、検索、ページネ ーション、並び替え機能が利⽤可能。 オンライン/オフラインの機能共にブ ラウザ1つで完結。 オフライン→オンライン、オンライン →オフラインのNWを⾃動検知し、サ ーバ/ブラウザ内DBの参照先を⾃動変 更する。 オフライン環境での 更新情報保存 オフライン環境で更新した情報をブラ ウザ内のDBに保存 Network監視によ る参照先変更 ブラウザ1つでオン ライン/オフライン 機能を実現 詳細: https://note.com/hitotsu_life/n/n5bb6531d5986
© 2022 HITOTSU,Inc. 5 システム設計 02
© 2022 HITOTSU,Inc. 6 全体処理フロー図
© 2022 HITOTSU,Inc. 7 ServiceWorker オンライン時 オフライン時 ServiceWorkerはServerの値を返却 ServiceWorkerはindexedDBの値を返却 React
ServiceWorker サーバ React ServiceWorker サーバ indexedDB React側でオンライン、オフライン処理の実装が不要。 NW監視によるオンライン、オフラインのデータ参照先の制御。 APIリクエストの解析、DB取得/更新、レスポンス返却までを担う。
© 2022 HITOTSU,Inc. 8 indexedDB サーバのデータ保存、オフライン時の更新データを保存
© 2022 HITOTSU,Inc. 9 まとめ ・ServiceWorker、indexedDBを活用する事でオフライン機能を実現。 ・ServiveWorker側に処理を委ねる事で、React側ではオフライン、オンラインを意識しない 実装が実現可能。それにより技術的負債を回避した。
© 2022 HITOTSU,Inc. 10 エンジニア募集 03
© 2022 HITOTSU,Inc. 11 エンジニア募集 フロントエンジニア、バックグラウンドエンジニア、技術領域問わず募集しております。お気 軽にお問い合わせください。 ※本日の発表を見たと言っていただけると、話はスムーズです。
None