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を使って作るPWA (LINE Developer Meetup #43)
Search
0918nobita
August 22, 2018
Programming
1
810
Firebaseを使って作るPWA (LINE Developer Meetup #43)
LINE Developer Meetup #43で行ったLTの資料です
0918nobita
August 22, 2018
Tweet
Share
More Decks by 0918nobita
See All by 0918nobita
入門言語としての F#
0918nobita
0
460
入門SRTP - 型レベルプログラミングちょっとだけ入門
0918nobita
0
420
プログラミング"言語"をはじめよう
0918nobita
0
54
RxJSで始めるリアクティブ・プログラミング と GitHub Emoji
0918nobita
1
98
OSSとライセンスの話
0918nobita
0
110
Other Decks in Programming
See All in Programming
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
230
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
520
One Enishi After Another
snoozer05
PRO
0
110
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
550
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
9
1.7k
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
600
CSC305 Lecture 06
javiergs
PRO
0
250
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
980
CSC305 Lecture 04
javiergs
PRO
0
270
Serena MCPのすすめ
wadakatu
4
1k
CSC509 Lecture 06
javiergs
PRO
0
260
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Producing Creativity
orderedlist
PRO
347
40k
Music & Morning Musume
bryan
46
6.8k
Speed Design
sergeychernyshev
32
1.2k
Building Applications with DynamoDB
mza
96
6.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
The Cult of Friendly URLs
andyhume
79
6.6k
Context Engineering - Making Every Token Count
addyosmani
7
260
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
980
Transcript
FirebaseΛͬͯ࡞Δ PWA দຊେ -*/&%FWFMPQFS.FFUVQJO,ZPUP
ࣗݾհ ໋ཱؗେֶ ใཧֶ෦ճੜ দຊେ 5XJUUFS!OPCJUB w ໋ཱؗίϯϐϡʔλΫϥϒॴଐ w 8FCݴޠॲཧܥ։ൃ w
ؔܕϓϩάϥϛϯά )BTLFMM4.- 6TFS4USFBNͷফ͑ͨ
None
͓ॻ͖ w 18"ͷ֓ཁ ಋೖͷϝϦοτσϝϦοτ ࣮ํ๏ w طଘͷ8FCٕज़ͱͷΈ߹Θͤ 18"ͷࠓޙ w
'JSFCBTFͷ֓ཁ w ݸਓ։ൃͷΞϓϦͷհ 'JSFCBTFಋೖࣄྫ w ·ͱΊ
18" 1SPHSFTTJWF8FC"QQT
18"ͱ 8FCϖʔδΛɺ ঃʑʹωΠςΟϒΞϓϦͷΑ͏ͳڍಈΛ ࣮ݱ͢ΔΑ͏ʹ֦ுͰ͖Δٕज़
18"㲈ಛघͳ41" 4JOHMF1BHF"QQMJDBUJPO
18"Λಋೖ͢ΔϝϦοτ w ϓογϡ௨Ωϟογϡػೳ͕ར༻Մೳ w όοΫάϥϯυͰͷಉظॲཧ͕Մೳ w Πϯετʔϧͷख͕ؒল͚Δ w ΦϑϥΠϯͰಈ࡞ w
ߋ৽͕؆୯
σϝϦοτ w ϓογϡ௨όοΫάϥϯυͰͷಉظ ڥʹΑͬͯར༻Ͱ͖ͳ͍ J04 w ωΠςΟϒ͚ͷ"1*ར༻Ͱ͖ͳ͍ w ΦϑϥΠϯͰͷॲཧ͕ෳࡶʹͳΓ͕ͪ
w ඇಉظͭΒ͍ 41"ͱࣄ͕ࣅ͍ͯΔ
ಋೖࣄྫ 5XJUUFS-JUF
8JOͰ18" ৄ͘͠IUUQTEFWFMPQFSNJDSPTPGUDPNKBKQXJOEPXTQXB 681ͱͯ͠Ϗϧυͯ͠8JOEPXTετΞͰՄೳ
2ैདྷͷ࣮ͱͷҧ͍ʁ
"͋Μ·Γͳ͍
5P%P NBOJGFTUKTPOͷઃஔ 4FSWJDF8PSLFSΛಋೖ͢Δ
NBOJGFTUKTPO w ΞϓϦͷใΛ·ͱΊͨKTPOϑΝΠϧ ΞΠίϯ༻ͷը૾ εϓϥογϡը໘ ςʔϚ৭ ։͘63-ͳͲ w MJOLλάͰࢦఆ͢Δ͚ͩͰඥ͚͕ྃ
4FSWJDF8PSLFS w ϒϥβ͕όοΫάϥϯυͰ࣮ߦ͢ΔεΫϦϓτ w ϦΫΤετΛϓϩΩγ͢Δ͜ͱ͕Ͱ͖Δ w ϥΠϑαΠΫϧ͕ଘࡏ͠ɺΠϕϯτυϦϒϯͰ࣮ w %0.ʹΞΫηεͰ͖ͳ͍ ૢ࡞͢ΔͳΒQPTU.FTTBHFͰ௨৴͢Δඞཁ͋Γ
w ඞཁʹԠͯ͡ىಈऴྃ͞ΕΔͨΊมͷ͕อ࣋͞Εͳ͍ σʔλอଘʹ$BDIF *OEFYFE%#Λར༻͢Δඞཁ͋Γ w IUUQT͔MPDBMIPTU্Ͱ͔͠ಈ࡞͠ͳ͍
͓ॻ͖ w 18"ͷ֓ཁ ಋೖͷϝϦοτσϝϦοτ ࣮ํ๏ w طଘͷ8FCٕज़ͱͷΈ߹Θͤ 18"ͷࠓޙ w
'JSFCBTFͷ֓ཁ w ݸਓ։ൃͷΞϓϦͷհ 'JSFCBTFಋೖࣄྫ w ·ͱΊ
طଘͷ8FCٕज़ͱͷΈ߹Θͤ w 8FC35$ w 8FC(- w 8FC"TTFNCMZ ͜ΕΒͷٕज़͕ซ༻Մೳ
18"ͷࠓޙʜ
"QQMFͷରԠ࣍ୈ
w J04͚4BGBSJͰͷ18"ͷαϙʔτݶఆత w ϒϥβ͔Β18"Λࣗ༝ʹΠϯετʔϧ͢Δ ͜ͱΛڐ͢ʁڐ͞ͳ͍ʁ w ωΠςΟϒΞϓϦͷετΞͱͷ݉Ͷ߹͍͕ ωοΫʹͳΔ
'JSFCBTF
'JSFCBTFͷαʔϏε w )PTUJOH ੩తϑΝΠϧḉ w $MPVE'VODUJPOT 'BB4 w
$MPVE'JSFTUPSF /P42-σʔλϕʔε w 4UPSBHF ը૾ ಈը༻ετϨʔδ w "VUIFOUJDBUJPO Ϣʔβʔೝূཧ w .-,JU ػցֶशϥΠϒϥϦ
'JSFCBTF)PTUJOH w ੩తϖʔδͷϗεςΟϯά w ϧʔςΟϯάͷઃఆKTPOϑΝΠϧͰ
2σϓϩΠํ๏ʁ
"firebase deployίϚϯυΛ ୟ͚ͩ͘
$MPVE'VODUJPOT GPS'JSFCBTF w ଞͷ'JSFCBTFͷػೳ)5514ϦΫΤετʹ ΑͬͯτϦΨʔ͞ΕͨΠϕϯτʹԠͯ͡ɺ όοΫΤϯυίʔυΛࣗಈͰ࣮ߦ͢Δ w όοΫΤϯυίʔυσϓϩΠ͞Εͨݸʑͷؔ w 'BB4
'VODUJPOBTB4FSWJDF
'BB4 'VODUJPOBTB4FSWJDF w ΫϥυͷϓϩόΠμଆͰඞཁͳόοΫΤϯυ ίʔυΛ࣮ߦ͢ΔαʔϏεΠϯϑϥ w ཁόοΫΤϯυͷॲཧΛؔʹׂͯ͠ ͦΕͧΕσϓϩΠͯ͠ݺͼग़ͤΔαʔϏε
ΫϥΠΞϯτ͔Βͷ ؔͷݺͼग़͠ํ ҎԼͷछྨ ؔΛఆٛ͢Δͱ͖ʹࢦఆ w )551ϦΫΤετ w $BMMBCMF)5514 ͲͪΒΛબͿͱͯ͠'JSFCBTFͷ4%,͕ඞཁ
$BMMBCMF)5514 w 4%,ʹΑͬͯɺϦΫΤετʹೝূใ͕ ༩͞ΕΔ w ϝΠϯͷιʔεϑΝΠϧʹɺೝূใΛ Ճ͢ΔॲཧΛॻ͘ඞཁ͕ͳ͍ w ೝূใ'JSFCBTF"VUI$MPVE.FTTBHJOHͷτʔΫϯ
2σϓϩΠํ๏ʁ
"firebase deployίϚϯυΛ ୟ͚ͩ͘
$MPVE'VODUJPOTͷ ୯ମςετ w firebase-functions-testύοέʔδ͕ OQNͰ͞Ε͍ͯΔ w ΦϑϥΠϯϞʔυΦϯϥΠϯϞʔυ
ΦϑϥΠϯϞʔυͰͷ୯ମςετ w ෭࡞༻ͳ͠ʹαΠϩԽ͞ΕͨΦϑϥΠϯͷ ୯ମςετ w 'JSFCBTFϓϩμΫτͱΓऔΓ͢Δϝιου ݺͼग़͠ελϒ͞ΕΔඞཁ͕͋Δ
ΦϯϥΠϯϞʔυͰͷ୯ମςετ w σʔλϕʔεͷॻ͖ࠐΈ Ϣʔβʔͷ࡞ͳͲ ෭࡞༻ ͕࣮ࡍʹߦΘΕΔ w ςετઐ༻ͷ'JSFCBTFϓϩδΣΫτ͕ඞཁ
'JSFCBTFͷྉۚϓϥϯ w 4QBSL ແྉ ϓϥϯ w 'MBNF ྉۚݻఆ ϓϥϯ w
#MB[F ैྔ՝੍ۚ ϓϥϯ ৄ͘͠IUUQTpSFCBTFHPPHMFDPNQSJDJOH
͓ॻ͖ w 18"ͷ֓ཁ ಋೖͷϝϦοτσϝϦοτ ࣮ํ๏ w طଘͷ8FCٕज़ͱͷΈ߹Θͤ w 18"ͷࠓޙ w
'JSFCBTFͷ֓ཁ w ݸਓ։ൃͷΞϓϦͷհ 'JSFCBTFಋೖࣄྫ w ·ͱΊ
ٕज़ॻɺੵಡͯ͠·ͤΜ͔ʁ
ੵಡ ŨƃŪƄŞ lੵΜͰ͓͘zͱυΫ ಡ ͱΛ͔͚ͨᔬམ ॻΛಡ·ͣʹੵΜͰ͓͘͜ͱ ࣙԓୈ൛ΑΓ
ΞϓϦͷ֓ཁ w ੵಡফԽࢧԉ18"ʮ5TVOEPLVʯ w Ծͷຊ୨ʹੵಡঢ়ଶͷຊΛՃ͢Δ w ੵಡফԽͷਐḿ ϖʔδ ༰ ؔ࿈͢Δ(JU)VCͰͷίϛοτ
Λ ࿈ܞ4/4Ͱڞ༗Ͱ͖Δ w ਐḿ͕ग़͍ͯΔຊ΄Ͳɺ ຊ୨Ͱදࣔ͞ΕΔαϜωΠϧ͕͔ʹͳΔ w ຊ୨ʹొͰ͖Δʹ্ݶ͕͋Γɺ ਃΛ͢Ε্ݶΛஈ֊తʹղ์Ͱ͖Δ ͦͷ͔ΘΓɺ্ݶΛղ์ͨ͜͠ͱຖճ4/4Ͱڞ༗͞ΕΔ
w 'JSFCBTF)PTUJOH $MPVE'VODUJPOT $MPVE'JSFTUPSF "VUIΛར༻ #MB[Fϓϥϯ w IUUQTHJUIVCDPNOPCJUB5TVOEPLV
5TVOEPLVͷٕज़తཁૉ
5TVOEPLVͷٕज़తཁૉ w όοΫΤϯυ $MPVE'VODUJPOT'JSFTUPSF"VUI /PEFKT 7FSݻఆ w
ϑϩϯτΤϯυ /PEFKT OQN "OHVMBS 5ZQF4DSJQU 54-JOU #PPUTUSBQ 'JSFCBTF)PTUJOHͰ৴
'JSFCBTFͷ༻ײ w ϒϥβ্ͰݟΕΔίϯιʔϧ͔Βɺ %#ͷཧ͕(6*Ͱߦ͑Δͷ͕-(5. w σϓϩΠָ͕͘͢͝ w 'BB4୯ମςετ͕ͪΐͬͱେม w $MPVE'VODUJPOTʹɺ
͘࠷৽ͷ/PEFKTʹରԠͯ͠΄͍͠
·ͱΊ w 18"69ΛߴΊΔΞπ͍ٕज़ w ಋೖ؆୯ڥґଘͳ෦ʹҙ w 'JSFCBTFΊͬͪΌศར w 18"ʮ5TVOEPLVʯ։ൃத 4UBS
*TTVF ϓϧϦΫ͓ͪͯ͠·͢ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠