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
570
スマートコントラクトのデプロイって何だろう
ngo275
0
790
Ethereumで開発を始めるなら知っておきたいこと
ngo275
10
5k
スマートコントラクトをHTTPで実行する
ngo275
0
130
EOSでスマートコントラクトを実行してみる
ngo275
0
1.1k
iOSアプリエンジニアがReact Nativeを使ってみて
ngo275
0
280
中東のシリコンバレーことイスラエルに行ってきた
ngo275
0
140
ペイモのアーキテクチャ
ngo275
0
680
Other Decks in Programming
See All in Programming
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
1.5k
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
20
5.1k
アセットのコンパイルについて
ojun9
0
110
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
100
フロントエンドのmonorepo化と責務分離のリアーキテクト
kajitack
2
160
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
430
UbieのAIパートナーを支えるコンテキストエンジニアリング実践
syucream
2
830
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
120
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
380
Claude Codeで挑むOSSコントリビュート
eycjur
0
200
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
430
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
It's Worth the Effort
3n
187
28k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Building Applications with DynamoDB
mza
96
6.6k
BBQ
matthewcrist
89
9.8k
Automating Front-end Workflow
addyosmani
1370
200k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
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