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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
今日から始めるAmazon Bedrock AgentCore
har1101
4
420
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
240
Context Engineeringの取り組み
nutslove
0
380
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
130
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
220
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
210
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
330
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
610
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
200
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
How GitHub (no longer) Works
holman
316
140k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
The browser strikes back
jonoalderson
0
390
Claude Code のすすめ
schroneko
67
210k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Paper Plane
katiecoart
PRO
0
46k
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ʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε