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
0
540
JavaScriptから デバイスの力を100%引き出すための Web APIとCapacitor入門 / power_from_javascript
Masahiko Sakakibara
November 19, 2022
Tweet
Share
More Decks by Masahiko Sakakibara
See All by Masahiko Sakakibara
本当に欲しかったのはモノレポツールではなく、tsconfigの設定だった / monorepo-tsconfig
rdlabo
1
130
Reactフレームワークプロダクトを モバイルアプリにして、もっと便利に。 ユーザに価値を届けよう。/React Framework with Capacitor
rdlabo
0
290
プライベートプロダクト戦略 - フロントエンドカンファレンス沖縄 / private_product_frontend
rdlabo
3
4.4k
GitHubをCMSとして使う話/ using_github_as_CMS
rdlabo
0
430
Capacitor4_release
rdlabo
0
610
Web技術で稼ぐため選択肢を俯瞰しよう/options_to_earn_web_technology
rdlabo
0
130
Ionicモバイルアプリ制作入門/get_started_with_ionic
rdlabo
0
130
JavaScript から デバイスの力を 100%引き出すための Capacitor と Angular でのはじめかた。
rdlabo
2
1.8k
JavaScriptとSwift&JavaをつなげるCapacitorと、これからのWeb Frontend/Linking JavaScript with Swift&Java, And the future of Web Frontend.
rdlabo
0
3.7k
Other Decks in Programming
See All in Programming
tsconfigのオプションで変わる型世界
keisukeikeda
1
120
バランスを見極めよう!実装の意味を明示するための型定義 TSKaigi 2025 Day2 (5/24)
whatasoda
2
760
Cloudflare Realtime と Workers でつくるサーバーレス WebRTC
nekoya3
0
180
DevDay2025-OracleDatabase-kernel-addressing-history
oracle4engineer
PRO
6
1.6k
Practical Domain-Driven Design - Workshop at NDC 2025
mufrid
0
120
型付け力を強化するための Hoogle のすゝめ / Boosting Your Type Mastery with Hoogle
guvalif
1
220
Babylon.js 8.0のアプデ情報を 軽率にキャッチアップ / catch-up-babylonjs-8
drumath2237
0
110
JSAI2025 RecSysChallenge2024 優勝報告
unonao
1
360
Investigating Multithreaded PostgreSQL
macdice
0
140
ワンバイナリWebサービスのススメ
mackee
10
7.3k
クラシルリワードにおける iOSアプリ開発の取り組み
funzin
1
790
〜可視化からアクセス制御まで〜 BigQuery×Looker Studioで コスト管理とデータソース認証制御する方法
cuebic9bic
0
240
Featured
See All Featured
Thoughts on Productivity
jonyablonski
69
4.7k
A Tale of Four Properties
chriscoyier
159
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
The World Runs on Bad Software
bkeepers
PRO
68
11k
RailsConf 2023
tenderlove
30
1.1k
Bash Introduction
62gerente
614
210k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
4 Signs Your Business is Dying
shpigford
183
22k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Practical Orchestrator
shlominoach
187
11k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
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 ͑؆୯ɻͦ͜ʹϢʔ β͕͍Δ͔ΒͰ͢ɻ
ʮͲ͏ͭ͘Δ͔ʯͰͳ͘ɺʮԿΛͭ͘Δ͔ʯʹྗ͠Α͏