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.7k
プロトタイピングするなら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
91
深センではテクノロジーを使う人がイノベーションを起こしている
ngo275
0
520
スマートコントラクトのデプロイって何だろう
ngo275
0
750
Ethereumで開発を始めるなら知っておきたいこと
ngo275
10
4.9k
スマートコントラクトをHTTPで実行する
ngo275
0
110
EOSでスマートコントラクトを実行してみる
ngo275
0
1.1k
iOSアプリエンジニアがReact Nativeを使ってみて
ngo275
0
270
中東のシリコンバレーことイスラエルに行ってきた
ngo275
0
120
ペイモのアーキテクチャ
ngo275
0
640
Other Decks in Programming
See All in Programming
Open source software: how to live long and go far
gaelvaroquaux
0
620
2024年のWebフロントエンドのふりかえりと2025年
sakito
1
230
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
110
GAEログのコスト削減
mot_techtalk
0
110
Compose でデザインと実装の差異を減らすための取り組み
oidy
1
300
CI改善もDatadogとともに
taumu
0
110
Pythonでもちょっとリッチな見た目のアプリを設計してみる
ueponx
1
480
Grafana Cloudとソラカメ
devoc
0
140
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
1
640
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.7k
[JAWS-UG横浜 #79] re:Invent 2024 の DB アップデートは Multi-Region!
maroon1st
1
140
『GO』アプリ バックエンドサーバのコスト削減
mot_techtalk
0
130
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Automating Front-end Workflow
addyosmani
1367
200k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Faster Mobile Websites
deanohume
306
31k
Designing for Performance
lara
604
68k
Docker and Python
trallard
44
3.3k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
Typedesign – Prime Four
hannesfritz
40
2.5k
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