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
JavaScriptから デバイスの力を100%引き出すための Web APIとCapacit...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Masahiko Sakakibara
November 19, 2022
Programming
630
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JavaScriptから デバイスの力を100%引き出すための Web APIとCapacitor入門 / power_from_javascript
Masahiko Sakakibara
November 19, 2022
More Decks by Masahiko Sakakibara
See All by Masahiko Sakakibara
決済端末ビジネスを、決済会社だけのものにしない/stripe_terminal_business
rdlabo
0
41
JavaScriptで始める店舗インフラ決済構築/stripe_terminal_workshop
rdlabo
0
38
No Install CMS戦略 〜 5年先を見据えたフロントエンド開発を考える / no_install_cms
rdlabo
0
690
本当に欲しかったのはモノレポツールではなく、tsconfigの設定だった / monorepo-tsconfig
rdlabo
1
380
Reactフレームワークプロダクトを モバイルアプリにして、もっと便利に。 ユーザに価値を届けよう。/React Framework with Capacitor
rdlabo
0
530
プライベートプロダクト戦略 - フロントエンドカンファレンス沖縄 / private_product_frontend
rdlabo
3
4.8k
GitHubをCMSとして使う話/ using_github_as_CMS
rdlabo
0
670
Capacitor4_release
rdlabo
0
720
Web技術で稼ぐため選択肢を俯瞰しよう/options_to_earn_web_technology
rdlabo
0
170
Other Decks in Programming
See All in Programming
メールのエイリアス機能を履き違えない
isshinfunada
0
240
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
110
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.8k
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
180
Go 1.27 における memory allocation の高速化
andpad
0
180
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
400
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
170
React本体のコードリーディング
high_g_engineer
1
140
Android CLI
fornewid
0
220
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
230
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
140
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
7.1k
So, you think you're a good person
axbom
PRO
2
2.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Accessibility Awareness
sabderemane
1
180
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
390
Abbi's Birthday
coloredviolet
3
9.3k
The browser strikes back
jonoalderson
0
1.5k
Building AI with AI
inesmontani
PRO
1
1.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Statistics for Hackers
jakevdp
799
230k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Transcript
+BWB4DSJQU͔ΒσόΠεͷྗΛҾ͖ग़ͨ͢Ίͷ 8FC"1*ͱ$BQBDJUPSೖ
ࣗݾհ ࡗݪণ Ұൠࣾஂ๏ਓϦϨʔγϣϯσβΠϯ ݚڀॴදཧࣄ Ұൠࣾஂ๏ਓΤϦΞɾ ΠϊϕʔγϣϯɾΞϥΠΞϯε$50 *POJD+BQBO6TFS(SPVQ
ද
UJQTZT
৯දࣔҹ εϚϗͱϓϦϯλ͚ͩͰ৯දࣔϥ ϕϧΛͭ͘ΕΔຊॳͷઐ༻ΞϓϦ
XJOFDPEF ଟछྨଟྔͷϫΠϯΛෳڌͰཧͰ ͖Δຊ།ҰͷΞϓϦɻ
*POJD%FWFMPQFS&YQFSU
4USJQF$PNNVOJUZ&YQFSU
ϒϥβػೳ੍ݶΛड͚͍ͯΔɻ
ΞϓϦ͕ར༻Ͱ͖Δ$BQBCJMJUJFT ϞόΠϧσόΠεɺΞϓϦͰར༻Ͱ͖Δແͷ"1*Λఏڙɻ ྫʣ9DPEFͰ໌ࣔతʹڐՄ͕ඞཁͳ$BQBCJMJUJJFT
ΞϓϦ͕ར༻Ͱ͖Δ"1* NSCameraUsageDescription NSPhotoLibraryAddUsageDescription NSPhotoLibraryUsageDescription <uses-permission android:name="android.permissi on.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permissi on.WRITE_EXTERNAL_STORAGE"
/> Χϝϥ ৼಈ NSLocationAlwaysUsageDescription NSLocationWhenInUseUsageDescription <uses-permission android:name="android.permission .ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission .ACCESS_FINE_LOCATION" /> <uses-feature android:name="android.hardware.l ocation.gps" /> ετϨʔδ ϑΝΠϧγεςϜ ϓογϡ௨ Ґஔใ
ϞόΠϧσόΠεΛ௨ͯ͠֎෦σόΠεΛ੍ޚ͢Δ͜ͱՄೳ
ϞόΠϧϒϥβҰ෦ػೳ͕ڐՄ͞ΕͨʮΞϓϦʯ ΞϓϦʹڐՄ͞ΕΔσόΠεͷػೳ܈ ͦͷҰ෦͕ڐՄ͞Εͨϒϥβ 8FCΞϓϦϒϥβ"1*Λ௨ͯ͠ ͦͷҰ෦ͷػೳʹΞΫηε͍ͯ͠Δ ˣ Χϝϥ Ґஔใ ετϨʔδ
18"8FCαΠτͰΞϓϦͷΑ͏ʹৼΔ͍͍ͨʂ
18"ʢ1SPHSFTTJWF8FC"QQTʣϗʔϜʹՃ
18"ʢ1SPHSFTTJWF8FC"QQTʣ௨ΦϑϥΠϯ wϒϥβͷ֎͔ΒϢʔβ͕ΞΫηεͰ͖ ΔʢϗʔϜʹՃʣ wΞΫςΟϒ͡Όͳ͍ͷʹϢʔβʹΞΫ γϣϯ͕Ͱ͖Δʢϓογϡ௨ʣ wΦϯϥΠϯ͡Όͳ͍ͷʹར༻Ͱ͖Δ ࣌ɺʮ৽͍͠8FCʯͩͬͨɻ
8FC64#"1*8FC#MVFUPPUI"1* U i n t 8 A r r a
y . o f ( 0 x 0 0 , 0 x 0 0 , 0 x f f , 0 x f f , 0 x f f , 0 x 0 3 , 0 x 0 0 , 0 x f d , 0 x d 6 , 0 x 2 a , 0 x 0 1 , 0 x f f , 0 x 0 0 ) パケットを自分で組み立 てれたら楽しいかも?!
ͳ͓ɺ4BGBSJͰඇରԠɻ
ͳ͓ɺ4BGBSJͰඇରԠɻ "QQMFɺϓϥΠόγʔอޢͷ؍͔Β4BGBSJ ʹͷ8FC"1*Λ࣮͢Δ͜ͱΛஅ೦
.E/8FC"1*௨"1*Ͱݴٴ͋ΔϨϕϧ
ͳͥɺҰ෦͔͠ڐՄ͞Εͳ͍ɹˠɹ8FCΞϓϦ͕৹ࠪΛड͚͍ͯͳ͍͔Β w ੍ݶ͞Ε͍ͯΔίϯςϯπ w ͳΓ͢·͠ w తࡒ࢈ݖ w ϓϥΠόγʔɺٗɺෆਖ਼ར༻ w
ऩӹԽͱࠂ w ετΞͷܝࡌใͱϓϩϞʔγϣϯ w εύϜͱ࠷ݶͷػೳ w ϚϧΣΞ w ϞόΠϧͷ·͘͠ͳ͍ιϑτΣΞ w ϑΝϛϦʔ IUUQTQMBZHPPHMFDPNBCPVU EFWFMPQFSDPOUFOUQPMJDZ
$BQBDJUPS8FCαΠτΛΞϓϦʹͪ͠Ό͍͍͑͡Όͳ͍
ΞϓϦͱͯ͠৹ࠪΛड͚ΔͨΊʹϒϥβΛཧղ͢Δ εςʔλεόʔ 8FC7JFX 63-όʔ σόΠε04͕දࣔɻΞϓϦϨϕϧͰ ৭Λมߋͨ͠ΓɺඇදࣔʹͰ͖Δɻ ϒϥβΞϓϦ͕දࣔɻ63-͔Βऔಘ͠ ͨΞηοτΛϨϯμϦϯά͢Δɻ63-Λ ೖྗ͢Δ͜ͱͰͲΜͳαΠτදࣔͰ͖ ͯ͠·͏ɻ
ϒϥβΞϓϦ͕දࣔɻ
ΞϓϦʹ͢Δͱ͍͏͜ͱɻ 8FC7JFXͷΞϓϦΛͭ͘Δɻ ʢ04ʹσϑΥϧτࡌʣΛ͛ͯɺ ϩʔΧϧʹ͋Δ8FCΞηοτΛදࣔɻ ˞֎෦ίϯςϯπͷ߹ɺ৹ࠪΛड͚ͯ ͍ͳ͍ୈࡾऀͷίϯςϯπ͕දࣔͰ͖ɺ ಉ༷ʹ"1*੍ݶ͕ೖΔͨΊɻ 8FC7JFX
"1*ΞΫηεͷߟ͑ํ J04 "OESPJE J04"1*܈ "OESPJE"1*܈ 4XJGU0CKFDUJWF$$$ +BWB,PUMJO$$ +4&YQPSU +BWB4DSJQU$PSF +BWB4DSJQU*OUFSGBDF
+BWB4DSJQU +BWB4DSJQU
+BWB4DSJQU$PSF+BWB4DSJQU*OUFSGBDFͱ +4&YQPSU +BWB4DSJQU$PSF +BWB4DSJQU*OUFSGBDF +BWB4DSJQU +BWB4DSJQU 8JOEPXؔ 8JOEPXؔ 8FC7JFX࡞࣌ʹ8JOEPXؔʹՃ
ͭ·Γ ͜ΕͰ৹ࠪ௨Εɺ"1*͍͍ͨ์ɻ ΑΓϢʔβʹՁ͋ΔػೳΛʂ
$BQBDJUPS
8FCΞϓϦΛΫϩεϓϥοτϑΥʔϜʹϒϦοδͤ͞Δ 888 8FCΞϓϦ $BQBDJUPS
w ʮΞϓϦʯͱ͍͏8FC7JFXΛ ͬͯɺ-PDBMͷ8FCΞηοτΛ දࣔ w /BUJWFػೳʹΞΫηε͢ΔͨΊ ͷ"1*͕ར༻Ͱ͖Δ $BQBDJUPSΞϓϦͷΈ
όʔδϣϯཧωΠςΟϒϑΝΠϧͷߏʢJ04ͷ߹ʣ 8FCΞηοτ͚ͩ͜͜ ϓϥάΠϯ1PE fi MFͰཧ
8FCΞϓϦ͘ͳ͍ɻ͚Ͳ͘ͳ͍ɻ h t t p s : / / v
i m e o . c o m / 5 5 4 8 6 6 8 4
5IF4UBUFPG+4
1SPHSFTTJWF8FC"QQT wϞόΠϧͷར༻࣌ؒ૿Ճ wεϚϗΞϓϦͷ৽نΠϯετʔϧ ʢϲ݄ʣ w͔ͭεϚϗΞϓϦ501͕ಠ wεϚϗΞϓϦʹൺͯɺ8&#ഒͷτϥϑΟοΫ w͍Ζ͍Ζͳ8&#ʹ๚͞ΕΔ
1SPHSFTTJWF8FC"QQT ΞϓϦΛར༻͢ΔͷʹɺϢʔβ ̍ɽΞϓϦετΞʹભҠͯ͠ ̎ɽΞϓϦΛΠϯετʔϧͯ͠ ̏ɽΞϓϦΛىಈ͠ͳ͍ͱ͍͚ͳ͍
͏ϓϥοτϑΥʔϜϢʔβ͕ܾΊΔɻ
5IFBOTXFS JOBOVUTIFMM JTCFDBVTFUIBU`TXIFSFUIFTBSF 5IFBOTXFS JOBOVUTIFMM JT CFDBVTFUIBU`TXIFSFUIFT BSF ͑؆୯ɻͦ͜ʹϢʔ β͕͍Δ͔ΒͰ͢ɻ
ʮͲ͏ͭ͘Δ͔ʯͰͳ͘ɺʮԿΛͭ͘Δ͔ʯʹྗ͠Α͏