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
WebアプリでスマホIoTに挑戦してみた
Search
ktr03
December 13, 2020
Programming
0
450
WebアプリでスマホIoTに挑戦してみた
2020/12/11に社内LT大会で発表した際のスライド資料です。スマホを使ってツーリングの走行記録を可視化するサービスを、学習を兼ねて個人開発しました。
ktr03
December 13, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
330
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
1.2k
ChatGPT とつくる PHP で OS 実装
memory1994
PRO
3
150
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
320
LLM Supervised Fine-tuningの理論と実践
datanalyticslabo
8
1.7k
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
520
情報漏洩させないための設計
kubotak
5
1.2k
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
670
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
280
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
830
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
6
1.3k
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
480
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
510
110k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
The Invisible Side of Design
smashingmag
299
50k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Unsuck your backbone
ammeep
669
57k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Speed Design
sergeychernyshev
25
710
Building Flexible Design Systems
yeseniaperezcruz
328
38k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Transcript
Webアプリで スマホIoTに挑戦してみた ktr03
ktr03 DI室 All Whitesチーム エンジニア ⚾️が好き 開発してます! 自己紹介
ツーリング記録を残したい かっこよく可視化したい
構成
構成 今日はWebアプリをメイ ンに話します!!
収集するデータ ・位置情報(緯度/経度/高度) ・温度/湿度
収集するデータ ・位置情報(緯度/経度/高度) ・温度/湿度 スマホ内蔵センサから取れる!
収集するデータ ・位置情報(緯度/経度/高度) ・温度/湿度 Bluetoothデバイスから取る!
Linkingデバイスで始めよう 豊富なラインナップでお手頃価格! 手軽に始められるNode.js ライブラリがある! https://github.com/futomi/node-linking
Webアプリから計測する ・位置情報(緯度/経度/高度) ・温度/湿度 Geolocation API Bluetooth API
Web APIがあるから簡単でしょ!
調子に乗って Progressive Web Apps にしてみる
・ホーム画面のアイコンから呼び出せる ・オフラインでも動作する ・プッシュ通知が受け取れる PWAとは。。。 Webアプリにネイティブアプリと同様の使い勝 手をもたらすウェブアプリのこと
・Service Worker ・Fetch ・Cache モバイルだけでなくPCでのUX改善にも効果あり! Googleのトレーニング資料がおすすめ! https://developers.google.com/web/ilt/pwa 関連する技術 ・Notifications ・Push
・IndexedDB などなど
・Service Worker ・Fetch ・Cache ホームアイコン起動 オフライン動作 バックグラウンド動作 今回使った技術 UX改善!
・Service Worker ・Fetch ・Cache ホームアイコン起動 オフライン動作 バックグラウンド動作 今回使った技術 UX改善!
デモ -IoTアプリ-
デモ -データ可視化-
PWA化したけど。。。 データ取得するWeb APIは制限が厳しく、妥協点が多かった。。
PWA化したけど。。。 Service Workerから呼び出せない! バックグラウンド実行できない! ナビアプリと併用できない! Geolocation API Bluetooth API
さらに。。。 iOS非対応! iphoneからはchromeでも使えません! Bluetooth API Safariと同じWebKitを使用している
続・さらに。。。 iphoneはWakeLock API非対応! ユーザが画面に触れ続ける必要がある 事実上、位置情報の自動計測も不可!
まとめ Webアプリで実現できる IoTユースケースは限られる (特にiphoneは制約多い) PWA技術はフロントエンド側でできる 性能改善の手段として学ぶ価値ある 趣味で個人開発するとスキルアップも できて一石二鳥 資格取得!
最後に。。。 Qiitaでクラウド側の内容とともに記事を公開予定です! PWAのソースコードを公開しています! https://github.com/ktr03rtk/iot-web-app
ご清聴 ありがとうございました