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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
130
深センではテクノロジーを使う人がイノベーションを起こしている
ngo275
0
640
スマートコントラクトのデプロイって何だろう
ngo275
0
850
Ethereumで開発を始めるなら知っておきたいこと
ngo275
10
5.2k
スマートコントラクトをHTTPで実行する
ngo275
0
150
EOSでスマートコントラクトを実行してみる
ngo275
0
1.2k
iOSアプリエンジニアがReact Nativeを使ってみて
ngo275
0
290
中東のシリコンバレーことイスラエルに行ってきた
ngo275
0
150
ペイモのアーキテクチャ
ngo275
0
710
Other Decks in Programming
See All in Programming
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
220
Fundamentals of Software Engineering In the Age of AI
therealdanvega
1
240
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
390
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.7k
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
110
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
470
CSC307 Lecture 14
javiergs
PRO
0
470
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
15
2.9k
Go1.26 go fixをプロダクトに適用して困ったこと
kurakura0916
0
350
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.5k
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
4
500
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
210
Featured
See All Featured
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
530
How STYLIGHT went responsive
nonsquared
100
6k
Are puppies a ranking factor?
jonoalderson
1
3.1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
67
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
200
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
240
How to train your dragon (web standard)
notwaldorf
97
6.5k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
480
Building Adaptive Systems
keathley
44
2.9k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
630
Making Projects Easy
brettharned
120
6.6k
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