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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
ランチ中のXで自社インシデントを検知した話(2026年7月24日唐揚げ会)
koji_kawamura
0
21
アウトプットが全ての悩みを解決する
koji_kawamura
0
19
Qiitaハッカソン
koji_kawamura
0
55
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
210
Leo the Paperboy
mayatellez
8
2.1k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
640
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
490
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
370
So, you think you're a good person
axbom
PRO
2
2.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
900
The Language of Interfaces
destraynor
162
27k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
220
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