Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
320
Bedrock AgentCore Evaluationsで学ぶLLM as a judge入門
shichijoyuhi
1
160
なぜ あなたはそんなに re:Invent に行くのか?
miu_crescent
PRO
0
130
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
3
1.9k
半年で、AIゼロ知識から AI中心開発組織の変革担当に至るまで
rfdnxbro
0
120
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
18
7.4k
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
6
1.4k
JEDAI認定プログラム JEDAI Order 2026 エントリーのご案内 / JEDAI Order 2026 Entry
databricksjapan
0
170
モダンデータスタックの理想と現実の間で~1.3億人Vポイントデータ基盤の現在地とこれから~
taromatsui_cccmkhd
1
250
事業の財務責任に向き合うリクルートデータプラットフォームのFinOps
recruitengineers
PRO
2
180
1人1サービス開発しているチームでのClaudeCodeの使い方
noayaoshiro
2
570
Lookerで実現するセキュアな外部データ提供
zozotech
PRO
0
190
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
WCS-LA-2024
lcolladotor
0
380
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
130
Rails Girls Zürich Keynote
gr2m
95
14k
Building the Perfect Custom Keyboard
takai
1
660
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
170
Done Done
chrislema
186
16k
The Limits of Empathy - UXLibs8
cassininazir
1
190
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
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ʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε