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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
yusuke_yamashita
May 21, 2019
Technology
290
0
Share
Nuxtとfirebaseでwebサービスをつくってみた
Nuxtとfirebaseを使ったwebサービスを個人で開発してみました。
その際の内容に関して、LTとして登壇した際の資料をアップしておきます。
yusuke_yamashita
May 21, 2019
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
BigQuery × dbtでコスト削減した話
rightcode
0
130
Master Dataグループ紹介資料
sansan33
PRO
1
4.6k
サイバーフィジカル社会とは何か / What Is a Cyber-Physical Society?
ks91
PRO
0
170
会社紹介資料 / Sansan Company Profile
sansan33
PRO
17
410k
Azure Static Web Apps の自動ビルドがタイムアウトしやすくなった状況に対応した件/global-azure2026
thara0402
0
180
最初の一歩を踏み出せなかった私が、誰かの背中を押したいと思うようになるまで / give someone a push
mii3king
0
130
3つのボトルネックを解消し、リリースエンジニアリングを再定義した話
nealle
0
420
ルールルルルル私的函館観光ガイド── 函館の街はイクラでも楽しめる!
nomuson
0
190
新メンバーのために、シニアエンジニアが環境を作る時代
puku0x
0
800
Zero-Downtime Migration: Moving a Massive, Historic iOS App from CocoaPods to SPM and Tuist without Stopping Feature Delivery
kagemiku
0
240
Code Interpreter で、AIに安全に コードを書かせる。
yokomachi
0
4.8k
#jawsugyokohama 100 LT11, "My AWS Journey 2011-2026 - kwntravel"
shinichirokawano
0
220
Featured
See All Featured
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
790
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
880
The browser strikes back
jonoalderson
0
940
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
310
Speed Design
sergeychernyshev
33
1.6k
How to train your dragon (web standard)
notwaldorf
97
6.6k
First, design no harm
axbom
PRO
2
1.2k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
510
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
260
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
250
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
94
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ʳ ߦ͖͍ͨॴʹɺҰॹʹߦ͘૬ख͕ݟ͔ͭΔαʔϏε