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を使ってWebサービスを作る 〜 リリースまで取り組みたい10のこと
Search
YutaFujiwara
October 27, 2019
Technology
0
520
Firebaseを使ってWebサービスを作る 〜 リリースまで取り組みたい10のこと
Firebase Startup #1 @piece of cake
YutaFujiwara
October 27, 2019
Tweet
Share
More Decks by YutaFujiwara
See All by YutaFujiwara
OH MY GOD inc. 会社概要
fujiyamayuta
0
13k
ザ・クーポン- サービス概要資料
fujiyamayuta
1
83
ザ・クーポン- サービス紹介・実績 資料
fujiyamayuta
0
21k
ザ・スクラッチ - サービス紹介
fujiyamayuta
0
5.3k
ザ・スタンプラリー - サービス紹介・実績 資料
fujiyamayuta
1
31k
ザ・抽選会 - サービス紹介・実績 資料
fujiyamayuta
0
45k
THE BINGO - サービス紹介・実績 資料
fujiyamayuta
0
460k
OH MY GOD inc. 会社概要
fujiyamayuta
0
90
コロナワクチン接種予約アプリ 概要
fujiyamayuta
0
1k
Other Decks in Technology
See All in Technology
TDD - Test Driven Drupal
opdavies
0
3k
開発スピードの維持向上を支える、テスト設計の 漸進的進化への取り組み / Continuous Test Design Development for Speed of Product Development
ropqa
0
180
令和版ソフトウェアエンジニアの情報収集術 PHPカンファレンス香川2024
ysknsid25
4
840
TanStack Routerで型安全かつ効率的なルーティングを実現
ytaisei
4
760
YJIT Makes Rails 1.7x faster / RubyKaigi 2024
k0kubun
0
130
個人のAWSアカウントをマルチ運用してみた
miura55
2
290
OPENLOGI Company Profile for engineer
hr01
1
2.1k
中年男性がメインフレームから クラウドへキャリアシフトしてみた
uechishingo
1
460
RailsConf 2024 Keynote "Startups on Rails in 2024"
irinanazarova
0
730
DevRelによる信頼構築とデータ駆動で変わるエンジニア採用 / DevRel Trust Building to Data Driven Engineering Hiring
bobtani
1
130
多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた / TSKaigi TypeScript Multilingualization
nabeliwo
2
380
「できる!」を増やすGitHub Copilot活用法 / How to use GitHub Copilot to expand your possibilities
sansan_randd
1
230
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Designing Experiences People Love
moore
136
23k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Six Lessons from altMBA
skipperchong
22
3k
In The Pink: A Labor of Love
frogandcode
138
21k
The Invisible Customer
myddelton
114
12k
Ruby is Unlike a Banana
tanoku
96
10k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
47k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
Visualization
eitanlees
137
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
81
44k
Transcript
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ !'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ಡॻײจͷݪߘ༻ࢴ ʷ
'JSFCBTF Λͬͯ 8FC αʔϏεΛ࡞Δʙ ϦϦʔε·ͰऔΓΈ͍ͨ ͷ͜ͱ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ 'JSFCBTF)BDLBUIPO 'JSFCBTF)BDLBUIPO ϑδϫϥϢλ !'VKJZBNB@:VUB ˙ࣄɿ4PGUXBSF&OHJOFFS ˙झຯɿχονͳαʔϏεΛີ͔ʹӡ༻
8FC ϑϩϯτ͕ಘҙͰ͢ʂ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ 㘾㘶㘴㗪㘨㖽㙆㘬ක䜅㗌ሳբ OFFICE CLOCK ΧϯλϯʹϏϯΰେձ͕։࠵Ͱ͖Δ 8FC αʔϏε
THE BINGO ΞΧϯτొෆཁɺΠϯετʔϧෆཁʂ -*/& ͱ 8FC Ͱۈଵཧ͕Ͱ͖ΔαʔϏε RealtimeDatabase Firebase Hosting
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ લճͷ 'JSFCBTF)BDLBUIPO ͔ΒҰϲ݄ܦͪɺ ৽αʔϏεΛϩʔϯν͠·ͨ͠ɻ ϦϦʔε·Ͱ͕ࣗऔΓΜͩ͜ͱΛ͓͠·͢ɻ 1JUDI%FNP%BZ
·ͰͷҰͭͷࢀߟࣄྫ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ৽αʔϏεΛϦϦʔε͠·ͨ͠ʂ 'JSFCBTF ͷϓϥοτϑΥʔϜͰ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ kansobun.jp ಡॻײจ ͷݪߘ༻ࢴ ʷ
ΈΜͳͷײจ ΠϯλʔωοτͰಡॻײจ͕ॻ͚ΔΞϓϦ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ 㗩㘓㗪㘨㖽㙆㘬㗋kɓԊ㗧㗄㗆㗨 8FC ϒϥβͰಡॻײจ͕ॻ͚ΔαʔϏεͰ͢ʂ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ Ъ㗣㗟ߠ౻ซ ಡॻײจͷશࠃେձɺ Β͕খֶੜͷࠒ͔ΒมԽ͍ͯ͠ͳ͍ɻ Կ࣌ؒຊΛಡΈɺ จষΛਪᏏͯ͠ॻ͍ͨײจͷ΄ͱΜͲɺ ୭ʹݟΒΕͣهԱʹΒͣফ͍͑ͯΔɻ൵͍͠ɻ
ςΫϊϩδʔͰͲ͏ʹ͔Ͱ͖ͳ͍͔
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ݪߘ༻ࢴͷॎॻ͖ͷྑͭͭ͞͠ɺ ײจͷΞʔΧΠϒΛ͢͜ͱ͕Ͱ͖ɺ ੈքൃ৴Ͱ͖ΔαʔϏε͕ʰΈΜͳͷײจʱͰ͢ɻ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ γεςϜߏ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ !'VKJZBNB@:VUB IUUQTLBOTPCVOKQ KQFH Firestore Cloud Storage
ɾNuxt ɾSemanticUI Firebase Hosting Firebase Functions γεςϜߏ IUUQTMPDBMIPTU Developer Version Control Github Firebase Authentication Product Advertising API ຊͷݕࡧ ೝূ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ /VYUKT > 4FNBOUJD6* 8FC'SPOUFOE #BDLFOE #BB4
'JSFCBTF )PTUJOH 4UPSBHF "VUIFOUJDBUJPO 'JSFTUPSF 'JSFCBTF'VODUJPOT αʔόʔϨεߏ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ۤઓͨ͠ͱ͜Ζ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ VTDFOUSBM ถࠃΞΠΦϫभ ϦʔδϣϯΛબͯ͠͠·ͬͨ 'VODUJPOT ͔Β֎෦ "1*
͕ୟ͚ͳ͔ͬͨ 'VODUJPOT ͷΧελϜυϝΠϯઃఆͷϦʔδϣϯ VTDFOUSBM ͷΈ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ VTDFOUSBM ถࠃΞΠΦϫभ ϦʔδϣϯΛબͯ͠͠·ͬͨɻ ˗ϨΠςϯγ͕͍͢͝ʢޫ͍ʣ ˗ϦʔδϣϯҰઃఆͯ͠͠·͏ͱޙ͔ΒมߋͰ͖ͳ͍ ˗VTDFOUSBM
͔Β BTJBOPSUIFBTUʢ౦ژʣʹҠߦ͢Δͷ݁ߏେม ʢυϝΠϯͷ͚ସ͑ɺ'JSFTUPSF ͷΠϯσοΫεͷ࡞Γ͠ʣ ڭ܇ɿຊ͔ΒͷΞΫηε͕ଟ͍αʔϏεͷ߹ BTJBOPSUIFBTU Λબͨ͠΄͏͕ྑ͍ʂ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ 'VODUJPOT ͔Β "NB[PO"1* ͕ୟ͚ͳ͔ͬͨ ֎෦ "1*
ͱଓ͢ΔͨΊʹɺ 'MBNF ݄ PS#MB[Fʢॏྔ՝ۚʣ ͷϓϥϯʹมߋ͕ඞཁɻ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ 'VODUJPOT ͷΧελϜυϝΠϯઃఆͷϦʔδϣϯ VTDFOUSBM ͷΈ IUUQTBTJBOPSUIFBTUFYBNQMFDMPVEGVODUJPOTOFULBOTPCVO IUUQTFYBNQMFDPNBQJLBOTPCVO
σϑΥϧτ ΧελϜυϝΠϯ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ͨ͠ͱ͜Ζ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ γΣΞ༻ͷ 0(1 λάͷ 63- Λಈతʹੜ 4JUFNBQ
Λಈతʹੜ͢ΔΈ ݕࡧʢߜΓࠐΈʣ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ γΣΞ༻ͷ 0(1 λάͷ 63- Λಈతʹੜ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ !'VKJZBNB@:VUB 4/4 Ϋϩʔϥʔʢ5XJUUFSʣ ਓྨ IUUQTLBOTPCVOKQTIBSFIPHFIVHBQJZP QPTUIPHFIVHBQJZP
User γΣΞ͠Α͏ͬͱʂ IUUQTLBOTPCVOKQTIBSFIPHFIVHBQJZP ࢀߟɿ ʲ2JJUBʳ/VYUKT 'JSFCBTF Ͱ 0(1 ͷΈΛશʹཧղͨ͠ɹʙആ۟Λ 47( Ͱඳը͢ΔαʔϏεΛϦϦʔεͨ͠ʙ IUUQTLBOTPCVOKQQPTUIPHFIVHBQJZP User ݟΑͬͱʂ γΣΞ༻ 63- ߘ +BWB4DSJQU ͕࣮ߦ͞Εͣ 0(JNBHF ͕දࣔ͞ΕΔ ࣮ߦ͞Εͳ͍ +BWB4DSJQU ͕࣮ߦ͞ΕͯϦμΠϨΫτ͞ΕΔɻ γΣΞ༻ 63- ৄࡉϖʔδ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ϨϯμϦϯάΤϯδϯͷਐԽͱͱʹɺ දࣔͰ͖ͳ͍ϒϥβ͋ΔͷͰ ͪΌΜͱ 443 ͨ͠ΓɺଞͷΓํΛݕ౼͢Δ΄͏͕ ྑͦ͞͏
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF)BDLBUIPO !'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ 4JUFNBQ Λಈతʹੜ͢ΔΈ
GVODUJPOT Ͱ YNM Λੜ αʔνίϯιʔϧʹ৯ΘͤΔ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ݕࡧʢߜΓࠐΈʣ 'JSFTUPSF ͰϑΟʔϧυͷྻͷݕࡧՄೳɻ ͨͩશҰகͷΈͳͷͰɺ෦ҰகจষͷશݕࡧΛ࣮͍ͨ͠߹ BMHPMJB Ͱ࣮
͢Δ͔͠ͳͦ͞͏ʁʢͦͷͱ͜ΖΈதʣ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ϦϦʔε·ͰʹऔΓΜͩ͜ͱ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ᶃຖ ࣌ؒ։ൃ͢Δ ᶄϕʔλ൛ςετ ᶅϦϦʔε ᶆϒϩάɾٕज़هࣄɾϓϨεϦϦʔεΛॻ͘
ᶇଧ্ͪ͛
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ຖ ࣌ؒ։ൃ͢Δ ܾ·ͬͨ࣌ؒʹग़ࣾͯ͠ɺܾΊ͚ͨ࣌ؒͩूதͯ͠։ൃɻ ຖ DPNNJU
͢Δ͜ͱ͕৺͕͚ͨɻ ʢϞνϕʔγϣϯ͕͋ΔͷͰɺͳΔ͘པΒͳ͍ʣ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ϕʔλ൛ςετ ͋Δఔͷػೳ͕Ͱ͖ͨΒɺϢʔβʔʢ༑ୡʣʹ৮ͬͯΒͬͯɺ ϑΟʔυόοΫΛΒ͏ʢόάόογϡʣ ɻ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ϒϩάɾٕज़هࣄɾϓϨεϦϦʔεΛॻ͘ ˞๏ਓͷ߹ ແྉͰϓϨεϦϦʔεΛଧͯΔ 5XJUUFS 2JJUB
135JNFT OPUF
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ϝσΟΞʹऔΓ্͍͛ͯͨͩ͘ χίχίχϡʔε */5&3/&5/&84 *303*0
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ·ͱΊ 1JUDI%FNP%BZ ·Ͱʹ ϓϩμΫτຏ͍͖ͯ·͢ʂ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ 'JSFCBTF)BDLBUIPO ɿ!'VKJZBNB@:VUB ɿ!:VUB@'VKJXBSB ϑδϫϥϢλ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ