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
620
0
Share
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
640
本当に欲しかったのはモノレポツールではなく、tsconfigの設定だった / monorepo-tsconfig
rdlabo
1
360
Reactフレームワークプロダクトを モバイルアプリにして、もっと便利に。 ユーザに価値を届けよう。/React Framework with Capacitor
rdlabo
0
430
プライベートプロダクト戦略 - フロントエンドカンファレンス沖縄 / private_product_frontend
rdlabo
3
4.8k
GitHubをCMSとして使う話/ using_github_as_CMS
rdlabo
0
630
Capacitor4_release
rdlabo
0
690
Web技術で稼ぐため選択肢を俯瞰しよう/options_to_earn_web_technology
rdlabo
0
170
Ionicモバイルアプリ制作入門/get_started_with_ionic
rdlabo
0
170
JavaScript から デバイスの力を 100%引き出すための Capacitor と Angular でのはじめかた。
rdlabo
2
1.9k
Other Decks in Programming
See All in Programming
Agentic AI & UI: Arcitecture, HITL, Emerging Standards
manfredsteyer
PRO
0
100
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
350
PHPer、Cloudflare に引っ越す
suguruooki
2
200
Cloudflare で始める Data Platform
ta93abe
0
130
Agent Skills を社内で育てる仕組み作り
jackchuka
1
2k
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.7k
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
210
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.7k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
440
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
260
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1.1k
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
830
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.5k
The Invisible Side of Design
smashingmag
302
52k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
180
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Everyday Curiosity
cassininazir
0
210
GitHub's CSS Performance
jonrohan
1033
470k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
150
Into the Great Unknown - MozCon
thekraken
41
2.5k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.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 ͑؆୯ɻͦ͜ʹϢʔ β͕͍Δ͔ΒͰ͢ɻ
ʮͲ͏ͭ͘Δ͔ʯͰͳ͘ɺʮԿΛͭ͘Δ͔ʯʹྗ͠Α͏