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
430
プログラミング"言語"をはじめよう
0918nobita
0
54
RxJSで始めるリアクティブ・プログラミング と GitHub Emoji
0918nobita
1
99
OSSとライセンスの話
0918nobita
0
120
Other Decks in Programming
See All in Programming
Vibe codingでおすすめの言語と開発手法
uyuki234
0
130
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
240
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
160
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
190
複雑なUI設計への銀の弾丸 「オブジェクト指向UIデザイン」
teamlab
PRO
2
110
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
160
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
150
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
400
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
220
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
1.9k
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.4k
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
300
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
1
190
Fireside Chat
paigeccino
41
3.8k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
120
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
29
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
410
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
94k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
400
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
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 ϓϧϦΫ͓ͪͯ͠·͢ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠