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
Nuxtとfirebaseでwebサービスをつくってみた
Search
yusuke_yamashita
May 21, 2019
Technology
0
290
Nuxtとfirebaseでwebサービスをつくってみた
Nuxtとfirebaseを使ったwebサービスを個人で開発してみました。
その際の内容に関して、LTとして登壇した際の資料をアップしておきます。
yusuke_yamashita
May 21, 2019
Tweet
Share
More Decks by yusuke_yamashita
See All by yusuke_yamashita
NuxtとFirebaseでSSRのWebアプリを作ってみた
hand12_k
6
1.3k
Other Decks in Technology
See All in Technology
能登半島災害現場エンジニアクロストーク 【JAWS FESTA 2025 in 金沢】
ditccsugii
0
520
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
240
BI ツールはもういらない?Amazon RedShift & MCP Server で試みる新しいデータ分析アプローチ
cdataj
0
110
AWS IoT 超入門 2025
hattori
0
330
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
300
衛星画像超解像化によって実現する2D, 3D空間情報の即時生成と“AI as a Service”/ Real-time generation spatial data enabled_by satellite image super-resolution
lehupa
0
150
リーダーになったら未来を語れるようになろう/Speak the Future
sanogemaru
0
380
20251014_Pythonを実務で徹底的に使いこなした話
ippei0923
0
190
能登半島地震において デジタルができたこと・できなかったこと
ditccsugii
0
120
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
4
320
速習AGENTS.md:5分で精度を上げる "3ブロック" テンプレ
ismk
6
1k
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
2
610
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
Context Engineering - Making Every Token Count
addyosmani
5
230
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
54
3k
How STYLIGHT went responsive
nonsquared
100
5.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
BBQ
matthewcrist
89
9.8k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Typedesign – Prime Four
hannesfritz
42
2.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The Cult of Friendly URLs
andyhume
79
6.6k
Six Lessons from altMBA
skipperchong
28
4k
Side Projects
sachag
455
43k
Transcript
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε NuxtͱfirebaseΛͬͯ webαʔϏεΛ࡞ͬͯΈͨ גࣜձࣾLivesense ࢁԼ ༔հ / @hand12_k
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ͢͜ͱ ͭͬͨ͘ͷ ٕͬͨज़ ·ͱΊ ϚʔέςΟϯά
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ͢͜ͱ ͭͬͨ͘ͷ ٕͬͨज़ ·ͱΊ ϚʔέςΟϯά ͭͬͨ͘ͷ
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε https://withruit.com
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε https://withruit.com
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ͭͬͨ͘ͷ ߦ͖͍ͨॴʹରͯ͠ͷಉߦऀΛืू͢ΔαʔϏε
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ͭͬͨ͘ͷ ϥΠϒʹҰॹʹདྷ ͯ͘ΕΔਓେืूʂ ҰਓͰߦ͖ͮΒ͍ɺʓʓ ͷϥΠϒʹҰॹʹདྷͯ͘ Ami Watanabe Tick
Ticket ͕ࣗߦ͖͍ͨॴΛߘ
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ͭͬͨ͘ͷ ͕ࣗߦ͖͍ͨͱࢥͬͨϓϥϯʹϦΫΤετΛૹΔ ϥΠϒʹҰॹʹདྷ ͯ͘ΕΔਓେืूʂ ҰਓͰߦ͖ͮΒ͍ɺʓʓ ͷϥΠϒʹҰॹʹདྷͯ͘ Ami Watanabe
ϦΫΤετΛૹΔ
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ػೳҰཡ • ϩάΠϯػೳ • ߘػೳ • ίϝϯτػೳ •
νϟοτػೳ • Ԡืػೳ • ը૾Ξοϓϩʔυػೳ • ͓͍߹Θͤػೳ • ϝʔϧ௨ػೳ ͭͬͨ͘ͷ • OGPλάߋ৽
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ͢͜ͱ ͭͬͨ͘ͷ ٕͬͨज़ ·ͱΊ ϚʔέςΟϯά ٕͬͨज़
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ٕͬͨज़
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε Vue ΞϓϦέʔγϣϯΛ࡞͢ΔϑϨʔϜϫʔΫ αʔόʔαΠυͱΫϥΠΞϯταΠυͷUIϨϯμϦϯά ʹؔ͢ΔػೳΛओʹఏڙ͍ͯ͠Δ Nuxt ٕͬͨज़
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε • Vue ϑΝΠϧͰهड़Ͱ͖Δ͜ͱʢ*.vueʣ • αʔόʔαΠυϨϯμϦϯά • ੩తϑΝΠϧͷ৴ •
ES6/ES7 ͷτϥϯεύΠϨʔγϣϯ • <head> ཁૉʢ<title>ɺ<meta> ͳͲʣͷཧ • ։ൃϞʔυʹ͓͚ΔϗοτϦϩʔσΟϯά • ϓϦϓϩηοα: Sass, Less, Stylus ͳͲ Nuxt ٕͬͨज़
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε Vue ٕͬͨज़ <template> <h1 class=“title”> {{ text }}
</h1> </template> <script> data() { return { text: “Hello World” } } </script> <style> .title { color: Red; } </style> Hello World • ίϯϙʔωϯτ୯ҐͰ ϑΝΠϧΛׂ • ֎෦ʹӨڹ͠ͳ͍CSS Λهड़Մೳ
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε Google͕ఏڙ͍ͯ͠ΔΫϥυαʔϏε αʔόʔσʔλϕʔεͳͲͷΠϯϑϥपΓػೳ͔Βɺ ϢʔβʔೝূϝοηʔδͳͲόοΫΤϯυͷػೳΛఏ ڙ͍ͯ͠Δ firebase ٕͬͨज़
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ٕͬͨज़ firebase
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ػೳҰཡ • ϩάΠϯػೳ • ߘػೳ • ίϝϯτػೳ •
νϟοτػೳ • Ԡืػೳ • ը૾Ξοϓϩʔυػೳ • ͓͍߹Θͤػೳ • ϝʔϧ௨ػೳ ͭͬͨ͘ͷ • OGPλάߋ৽
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ػೳҰཡ • ϩάΠϯػೳ • ߘػೳ • ίϝϯτػೳ •
νϟοτػೳ • Ԡืػೳ • ը૾Ξοϓϩʔυػೳ • ͓͍߹Θͤػೳ • ϝʔϧ௨ػೳ ͭͬͨ͘ͷ • OGPλάߋ৽ Authentication Realtime Database Realtime Database Realtime Database Realtime Database Realtime Database Cloud Functions Cloud Storage Cloud Functions
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε Authentication ٕͬͨज़ • firebase͕ఏڙ͍ͯ͠ΔϩάΠϯػೳ • Ϣʔβͷ৽نొϩάΠϯཧͷػೳΛఏ ڙ͍ͯ͠Δ •
facebook, googleೝূͷػೳఏڙ͞Ε͓ͯΓɺ tokenཧͳͲͷػೳSDKͰ༻ҙ͞Ε͍ͯΔ
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε Authentication ٕͬͨज़
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε Realtime Database ٕͬͨज़ • ϦΞϧλΠϜʹσʔλΛอଘɾಉظͰ͖ΔΫ ϥυϗετܕͷNoSQLܗࣜσʔλϕʔε • ΦϑϥΠϯʹͳͬͯɺϩʔΧϧʹσʔλΛ
อ࣋͠ɺΦϯϥΠϯʹͳͬͨλΠϛϯάͰಉ ظ։࢝
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε Cloud Storage ٕͬͨज़ • Ϣʔβʔ͕Ξοϓϩʔυͨ͠ը૾ಈըͳͲ ͷίϯςϯπΛอଘ͢Δ͜ͱ͕Ͱ͖ΔετϨʔ δαʔϏε
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε Cloud Functions ٕͬͨज़ • Node.jsͷؔΛ࣮ߦͰ͖Δػೳ • firebaseͷ༷ʑͳΠϕϯτΛτϦΨʔʹɺؔ Λ࣮ߦ͢Δ͜ͱ͕Ͱ͖Δ
• Authentication • Realtime Database • Cloud Storage • …
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ٕͬͨज़ ϩάΠϯ facebookೝূ Authentication Ϣʔβใͷอଘॲཧ Cloud Functions Ϣʔβใͷอଘ
Realtime DB ߘ ਃ͠ࠐΈ ߘσʔλͷอଘ Realtime DB ը૾Ξοϓϩʔυ Cloud Storage ϝʔϧૹ৴ Cloud Functions ਃ͠ࠐΈใΛอଘ Realtime DB
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ٕͬͨज़ ௨ OGPλάߋ৽ OGPλάΛੜ͠HTMLΛฦ͢ Cloud Functions ͓͍߹Θͤ ϦΫΤετΛFunctionsʹྲྀ͢
Hosting Slackͷ௨ Cloud Functions ͓͍߹Θͤσʔλͷอଘ Realtime DB มߋΛݕ͠௨ॲཧΛߦ͏ Cloud Functions ରͷσʔλ͕อଘ Realtime DB
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ͢͜ͱ ͭͬͨ͘ͷ ٕͬͨज़ ·ͱΊ ϚʔέςΟϯά ϚʔέςΟϯά
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ϚʔέςΟϯά • ͔ͤͬ͘࡞ΔͷͰ͋Εɺͨ͘͞ΜͷਓʹͬͯΒ͍͍ͨ • ͋ΘΑ͘ɺΞϑΣϦΤΠτͰऩӹ͍ͩͨ͠ • λʔήοτϢʔβʔΛ໌֬ʹ͠ɺ͞Δૌٻจ͕ඞཁ •
ϦϦʔε࣌ͰɺҰఆͷߘσʔλ͕ඞཁ
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ϚʔέςΟϯά
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ϚʔέςΟϯά ॳظϢʔβͱͯ͠ɺ20݅ߘσʔλΛ֫ಘ
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ϚʔέςΟϯά
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ϚʔέςΟϯά 6ϲ݄ҎԼͷຢ 100ສԁҎԼͷേۚ
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ͢͜ͱ ͭͬͨ͘ͷ ٕͬͨज़ ·ͱΊ ϚʔέςΟϯά ·ͱΊ
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε ·ͱΊ • webαʔϏε࡞Γָ͍͠ʂʂʂ • webαʔϏεʢಛʹݸਓʣͷϋʔυϧ͕͔ͳΓ͘ͳͬͨ • ϢʔβʔूΊ͍͠ •
๏తͳॲཧͳͲɺௐͳ͖Ό͍͚ͳ͍͜ͱ͕ଟ͘ൈ͚ ࿙Ε͍͢͠
ʲwithruitʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε