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
プロトタイピングするならFirebaseを使ってみよう
Search
Shuichi Nagao
August 07, 2018
Programming
0
1.8k
プロトタイピングするならFirebaseを使ってみよう
Firebaseが非常に便利になってきており、プロトタイピングをするのにもって来いです。社内ハッカソン(プロトタイピング)でFirebaseをフルに利用した時に感じたことについてです。
Shuichi Nagao
August 07, 2018
Tweet
Share
More Decks by Shuichi Nagao
See All by Shuichi Nagao
UX for Key Management
ngo275
0
110
深センではテクノロジーを使う人がイノベーションを起こしている
ngo275
0
560
スマートコントラクトのデプロイって何だろう
ngo275
0
790
Ethereumで開発を始めるなら知っておきたいこと
ngo275
10
5k
スマートコントラクトをHTTPで実行する
ngo275
0
120
EOSでスマートコントラクトを実行してみる
ngo275
0
1.1k
iOSアプリエンジニアがReact Nativeを使ってみて
ngo275
0
280
中東のシリコンバレーことイスラエルに行ってきた
ngo275
0
130
ペイモのアーキテクチャ
ngo275
0
670
Other Decks in Programming
See All in Programming
中級グラフィックス入門~効率的なメッシュレット描画~
projectasura
3
1.7k
Android 16KBページサイズ対応をはじめからていねいに
mine2424
0
740
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
300
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
570
Workers を定期実行する方法は一つじゃない
rokuosan
0
130
商品比較サービス「マイベスト」における パーソナライズレコメンドの第一歩
ucchiii43
0
210
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
17
6.1k
Advanced Micro Frontends: Multi Version/ Framework Scenarios
manfredsteyer
PRO
0
110
「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図
panda_program
3
660
リバースエンジニアリング新時代へ! GhidraとClaude DesktopをMCPで繋ぐ/findy202507
tkmru
4
1.3k
Googleの新しいコーディングAIエージェントJulesを使ってみた
tonionagauzzi
0
150
Go製CLIツールをnpmで配布するには
syumai
0
760
Featured
See All Featured
Making Projects Easy
brettharned
117
6.3k
Side Projects
sachag
455
43k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
The Language of Interfaces
destraynor
158
25k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Code Reviewing Like a Champion
maltzj
524
40k
KATA
mclloyd
30
14k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
RailsConf 2023
tenderlove
30
1.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
BBQ
matthewcrist
89
9.8k
Transcript
ϓϩτλΠϐϯά͢ΔͳΒ FirebaseΛͬͯΈΑ͏ @ngo275 2018.8.7 1
ࣗݾհ •໊લɿӬඌमҰ (@ngo275) •ձࣾɿAnyPay •͖ͳݴޠɿSwift •࠷ۙ৮Ε͍ͯΔݴޠɿJSɾதࠃޠ •ωΠςΟϒΞϓϦͷ։ൃ (Swift / React
Native) ΛϝΠϯʹɺόοΫΤϯυͱ͔ॻ͍ͨΓͯ͠· ͢ •࠷ۙݸਓͰΞϓϦग़͠·ͨ͠(ϚοϋϦʔμʔ) 2
Α͋͘Δ •ΞϓϦͷϓϩτλΠϓΛͱʹ͔͘ૣ ͘࡞Γ͍ͨ •ͱ͍͑ɺαʔόʔΞϓϦ̍ਓ Ͱॻ͘ͷྲྀੴʹΩπΠɻɻ •'JSFCBTF͕ศརΒ͍͠ •۩ମతʹԿΛ͏ͷͩΖ͏ɻɻ •(͋ɺAnalyticsͬͨ͜ͱ͋ΔΑ 3
͢͜ͱ •Firebaseͷػೳհ •֓ཁ •Α͘ΘΕΔαʔϏεͨͪ •FirebaseͰͷϓϩτλΠϐϯάΛ۩ମྫͰݟͯ ͍͘ 4
͢͜ͱ •Firebaseͷػೳհ •֓ཁ •Α͘ΘΕΔαʔϏεͨͪ •FirebaseͰͷϓϩτλΠϐϯάΛ۩ମྫͰݟͯ ͍͘ 5
Firebaseͷ֓ཁ͓͞Β͍ •2011ʹ࢝·ͬͨmBaasͰɺ2014ʹGoogleʹ ങऩ͞Εͨ •2017ʹΫϥογϡϨϙʔτ(Crashlytics) ϕʔλ৴(beta)ͷαʔϏεΛఏڙ͍ͯͨ͠ Fabric͕Googleʹങऩ͞ΕɺFirebaseʹ౷߹ •ϞόΠϧΞϓϦ։ൃʹඞཁͳػೳΛఏڙ͢Δαʔ Ϗε •ΞφϦςΟΫεɺΫϥογϡϨϙʔτɺϓογϡ௨ ɺσʔλϕʔεɺೝূػೳɺετϨʔδ…
6
͢͜ͱ •Firebaseͷػೳհ •֓ཁ •Α͘ΘΕΔαʔϏεͨͪ •FirebaseͰͷϓϩτλΠϐϯάΛ۩ମྫͰݟͯ ͍͘ 7
FirebaseͷαʔϏεͨͪ Grow your business Improve app quality Build better apps
8
FirebaseͷαʔϏεͨͪ Grow your business Improve app quality Build better apps
ίίΒΜ ͱΓ͋͑ͣ ೖΕΔ͜ͱ͕ଟ͍ 9
FirebaseͷαʔϏεͨͪ Grow your business Improve app quality Build better apps
ࠨ্Λͬͯ ϓϩτλΠϐϯά ͍ͯ͘͠!! 10
Cloud Firestoreͱ •֓ཁ •ࡶʹݴ͏ͱRealtime Databaseͷ্Ґޓ •ΫϥυͷDBͰ෦GoogleͷDatastore •DBͷߋ৽Λ؆୯ʹϦΞϧλΠϜͰड͚औΔ͜ͱ͕Ͱ ͖Δ (web socketͱ͔ΛΘ͟Θ͟ॻ͔ͳ͍͍ͯ͘)
•ར༻ྫ •νϟοτػೳ •ϓϨθϯεݕ (ΦϯϥΠϯ͔Ͳ͏͔) 11
Cloud Functionsͱ •֓ཁ •AWSͷLambdaͱಉ͡αʔόϨεͷόοΫΤϯυ •node.jsͰίʔυΛॻ͍ͯupload͢ΔͱҙͷλΠϛ ϯάͰͦͷίʔυΛ࣮ߦͰ͖Δ •ઌϕʔλ͕ͱΕͨ •ར༻ྫ •Firestoreʹॻ͖ࠐΈ͕͋ͬͨΒɺϓογϡ௨Λૹ Δ
12
Firebase Authenticationͱ •֓ཁ •ΞϓϦͷϩάΠϯػೳΛߦͰ࣮Ͱ͖ΔΑ͏ʹ ͳΔ •ϩάΠϯϓϩόΠμ๛ •ϝʔϧɾి൪߸ɾGoogleɾPlayήʔϜɾFacebookɾ TwitterɾGitHubɾಗ໊ •ϝʔϧΛૹͬͯϦϯΫΛ౿·ͤΔɺSMSΛૹ৴ͯ͠ೝূ ίʔυΛૹΔɺͱ͍͏͜ͱ͕FirebaseͰ؆୯ʹͰ͖Δ
•Cloud StorageͳͲͷݖݶཧ͍͢͠ 13
Cloud Storageͱ •֓ཁ •AWSͷS3ͱಉ͡ͰɺGoogle൛ͷετϨʔδ •FirebaseΛ͏ͱɺϑΝΠϧΞοϓϩʔυʹ͓͚ΔΞ ΫηείϯτϩʔϧɺΞοϓϩʔυઌͷURLͷऔ ಘɾอଘͳͲ͕γʔϜϨεʹͰ͖Δ •ར༻ྫ •ϢʔβͷϓϩϑΟʔϧը૾ͷอଘ 14
͢͜ͱ •Firebaseͷػೳհ •֓ཁ •Α͘ΘΕΔαʔϏεͨͪ •FirebaseͰͷϓϩτλΠϐϯάΛ۩ମྫͰݟͯ ͍͘ 15
ϓϩτλΠϐϯάͱ •ػೳͷ࣮ݱՄೳੑ •ͦͷػೳ͕ຊʹϢʔβʹͱͬͯՁ͋Δͷ ͳͷ͔ ➡͜ΕΒΛݕূ͢Δ͜ͱ͕తͰ͋ͬͯɺ࡞Δ ͜ͱ͕తͰͳ͍
IoT ✘ iOSͷϓϩτλΠϐϯά •࡞Γ͍ͨͷ •ϚΠίϯͰGPSใΛऔಘͯ͠αʔόʹૹΓଓ͚ɺ ͦͷσʔλΛΞϓϦͰϦΞϧλΠϜͰද͍ࣔͨ͠ •ݕূ͍ͨ͜͠ͱ •࣮ݱՄೳ͔ɺ৺Α͘GPSใΛఏڙͰ͖Δͷ͔ •αʔόͱΞϓϦ̍ਓͰ࣮͢Δ 17
શମߏ Cloud IoT Core Cloud PubSub MQTT GPS ͜͜ΛͲ͏͢Δͷ͔ 18
ैདྷͷํ๏ͰϓϩτλΠϐϯά Cloud IoT Core Cloud PubSub MQTT GPS API DB
Cloud Storage 19
ैདྷͷํ๏ͰϓϩτλΠϐϯά Cloud IoT Core Cloud PubSub MQTT GPS API DB
Cloud Storage 20 APIΛ࡞Δͱ࣮ྔ͕େ෯ʹ૿͑Δ ϓϩτλΠϐϯάͳͷʹ! (ೝূɺσʔλͷCRUDɺϦΞϧλΠϜ௨৴)
FirebaseͰϓϩτλΠϐϯά Cloud IoT Core Cloud PubSub MQTT GPS 21
FirebaseͰϓϩτλΠϐϯά Cloud IoT Core Cloud PubSub MQTT GPS 22 Firebase෦࣮ྔ͕΄ͱΜͲͳ͍
ΞϓϦͷ։ൃʹूதͰ͖Δ (ೝূɺσʔλͷCRUDɺϦΞϧλΠϜ௨৴)
·ͱΊ •αʔόͷίʔυΛॻ͔ͳ͍͜ͱʹΑΓΞϓϦͷ ࣮ʹूதͰ͖Δ •ϓϩτλΠϓͰݕূ͍ͨ͜͠ͱʹ࣌ؒΛׂ͚Δ •ϓϩμΫγϣϯར༻ྫ͕গͳ͘ӡ༻্ͷݟ͕ গͳ͍ͨΊɺେ͖ͳมߋʹڧ͍ͷ͔ෆ҆ •DBͷॻ͖ࠐΈΛΞϓϦ͔Βߦ͏ͷා͍ •ѱҙͷ͋ΔϢʔβΛ͘ͷ͕͍͠ 23
ίʔυͷࢀߟྫ(ެ։ͨ͠ΞϓϦ) •Firebase •Cloud Firestore •ಗ໊ϩάΠϯ •Cloud Storage •Firebase Cloud Messaging
•Cloud Functions •Pring 24 https://github.com/mach-team/mach-reader-ios