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
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
No Install CMS戦略 〜 5年先を見据えたフロントエンド開発を考える / no_install_cms
rdlabo
0
660
本当に欲しかったのはモノレポツールではなく、tsconfigの設定だった / monorepo-tsconfig
rdlabo
1
370
Reactフレームワークプロダクトを モバイルアプリにして、もっと便利に。 ユーザに価値を届けよう。/React Framework with Capacitor
rdlabo
0
490
プライベートプロダクト戦略 - フロントエンドカンファレンス沖縄 / private_product_frontend
rdlabo
3
4.8k
GitHubをCMSとして使う話/ using_github_as_CMS
rdlabo
0
650
Capacitor4_release
rdlabo
0
700
Web技術で稼ぐため選択肢を俯瞰しよう/options_to_earn_web_technology
rdlabo
0
170
Ionicモバイルアプリ制作入門/get_started_with_ionic
rdlabo
0
170
JavaScript から デバイスの力を 100%引き出すための Capacitor と Angular でのはじめかた。
rdlabo
2
2k
Other Decks in Programming
See All in Programming
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
590
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
120
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
120
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
300
act1-costs.pdf
sumedhbala
0
110
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
150
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
930
The NotImplementedError Problem in Ruby
koic
1
930
さぁV100、メモリをお食べ・・・
nilpe
0
150
A2UI という光を覗いてみる
satohjohn
1
150
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.5k
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
260
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Designing Experiences People Love
moore
143
24k
A designer walks into a library…
pauljervisheath
211
24k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
540
Paper Plane (Part 1)
katiecoart
PRO
0
9.2k
Documentation Writing (for coders)
carmenintech
77
5.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
300
RailsConf 2023
tenderlove
30
1.5k
Practical Orchestrator
shlominoach
191
11k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
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 ͑؆୯ɻͦ͜ʹϢʔ β͕͍Δ͔ΒͰ͢ɻ
ʮͲ͏ͭ͘Δ͔ʯͰͳ͘ɺʮԿΛͭ͘Δ͔ʯʹྗ͠Α͏