Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
WebアプリでスマホIoTに挑戦してみた
Search
ktr03
December 13, 2020
Programming
550
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WebアプリでスマホIoTに挑戦してみた
2020/12/11に社内LT大会で発表した際のスライド資料です。スマホを使ってツーリングの走行記録を可視化するサービスを、学習を兼ねて個人開発しました。
ktr03
December 13, 2020
Transcript
25 slides
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
ご清聴 ありがとうございました
Other Decks in Programming
See All in Programming
社内AIエージェント「Askワンバン」における コストチューニングの取り組み
t0yohei
0
170
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
260
エラーチャンネルのボールを拾い続けて鍛えるエンジニアの地力 / phpcon-niigata2026
meihei3
1
120
[DroidKnights 2026] Workflow AX: From Auto-Documented Policies to E2E Testing
raeminkang
0
570
例外からRich Errorsまで Kotlinエラーハンドリングの進化を読み解く
shiita0903
0
130
作れるエンジニアから、価値を届けるエンジニアへ
ryunakayama
1
290
Performance Optimization With LLMs
xleitix
0
260
Distance field of Julia set
kinakomoti321
0
320
Claude Code ハーネスDeep Dive – 君はどこまで制御する? -
takateeen_knj
6
5.7k
SODA - FACT BOOK(EN)
sodainc
1
240
AI-Powered Domain-Driven Design
ziobrando
0
450
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
310
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
750
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
530
Building the Perfect Custom Keyboard
takai
2
960
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
350
Heart Work Chapter 1 - Part 1
lfama
PRO
11
37k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Building Applications with DynamoDB
mza
96
7.3k
The Language of Interfaces
destraynor
162
27k
GraphQLとの向き合い方2022年版
quramy
50
15k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
530
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
60k
How Software Deployment tools have changed in the past 20 years
geshan
3
35k