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
GatsbyJSで爆速PWAサイト/ Gatsby Super Fast
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
nnjyami
March 24, 2018
Programming
20k
9
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GatsbyJSで爆速PWAサイト/ Gatsby Super Fast
nnjyami
March 24, 2018
Other Decks in Programming
See All in Programming
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
210
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.4k
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
270
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
570
ふつうのFeature Flag実践入門
irof
8
4.1k
1B+ /day規模のログを管理する技術
broadleaf
0
100
New "Type" system on PicoRuby
pocke
1
990
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
720
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
160
Lessons from Spec-Driven Development
simas
PRO
0
220
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
350
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
130
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.2k
A Soul's Torment
seathinner
6
3k
Designing for Timeless Needs
cassininazir
1
260
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Design in an AI World
tapps
1
250
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
How to build a perfect <img>
jonoalderson
1
5.7k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
290
Fireside Chat
paigeccino
42
4k
Claude Code のすすめ
schroneko
67
230k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
310
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Transcript
Gatsby Super Fast
Gatsby Super Fast ࠓ͍͑ͨ͜ͱ •(BUTCZΛ͏ͱ രαΠτϒϩά͕؆୯ʹͰ͖·͢ʂ •ࠓৄࡉͳΈΛઆ໌͢Δ͚Ͳ ͋Ε؆୯ʹͰ͖ͪΌ͍·͢ʂʂ •(BUTCZ०ͷٕज़ςϯίΓͳͷͰ ϑϩϯτΤϯυษڧͷࡐͱͯ͠࠷ߴ
ࣗݾհ ࢁԼߒҰ !OOKZBNJʢΜ͡ΌΈʣ DNɹˠɹKQ ژͰಇ͘ϨΨγʔͳϑϩϯτΤϯυΤϯδχΞ ʢ+4 1)1 4BTT )5.- ʜʣ
ࠓͷςʔϚʮ0VUQVUʯ
OFX։ൃϒϩάrEWHKQʢ(BUTCZʣ
(BUTCZʹΑΔදࣔը໘ભҠͷ͞Λମײ͍ͯͩ͘͠͞ʂʂʂ https://dvg.179.jp
dvg.179.jp (2018.2ʙ) 4BLVSB714 %/4$MPVEqBSF $FOU04 /HJOY /PEF (BUTCZ+4 rษڧɾ࣮ݧ༻ rηϧϑϗεςΟϯάʢ714ʣ
r/HJOY r͋͑ͯαʔόʔଆʹ/PEF
dvg.179.jp (2018.2ʙ) 4BLVSB714 %/4$MPVEqBSF $FOU04 /HJOY /PEF (BUTCZ+4 rษڧɾ࣮ݧ༻ rηϧϑϗεςΟϯάʢ714ʣ
r/HJOY r͋͑ͯαʔόʔଆʹ/PEF ϒϩάϝϯλʔ͍͍ͯͨͩͯ͠·͢ʂ ଚܟ͢Δ Mr. ҙࣝߴ͍ΤϯδχΞ 1PEDBTU omoiyari.fm #22 Trello ͕͋ΔͷͰΕͳ͍ (BUTCZͰϒϩάΛߏங͢Δͱ EFWUPΈ͍ͨʹരʹͳΔ ʢϑϩϯτΤϯυٕज़͍͢͝ʣl(BUTCZcEWHz ΧΧΧΧοΫ ٢ాܚষ @kakakakakkuɾ2݄24
Gatsbyͱ • /PEFڥͰಈ͘੩తδΣωϨʔλʔ • ςϯϓϨʔτ3FBDUʹΑΔ࣮ • දࣔϖʔδ41"ͱͯ͠ ߴͳදࣔϖʔδભҠ • ΄΅ඪ४Ͱ18"ͱͯ͠ͷॻ͖ग़͠ʹରԠ
• σʔλιʔε.BSLEPXOΛ͡Ίɺ 8PSEQSFTT+40/ͳͲʹରԠ
Gatsbyͱ • "VUIPS,ZMF.BUIFXT!LZMFNBUIFXT • (JUIVC4UBS • OQN%PXOMPBET,NPOUI • W
• r'JSTU$PNNJU • r!LZMFNBUIFXTXPSLJOHGVMMUJNFOPXPO!HBUTCZKT • rWϦϦʔε
੩తδΣωϨʔλʔͷൺֱ • ϑϩϯτΤϯυͷٕज़Ͱ݁͢Δͷ গͳ͍ +FLZMM3VCZ )VHP(P • ςϯϓϨʔτͷΧελϚΠζੑ • هࣄखܰʹ.BSLEPXOͰॻ͖͍ͨ
• ৽͍ٕ͠ज़ʹ৮Ε͍ͨ
Front-End Developer Handbook 2018 $PEZ-JOEMFZࢯ • ʮ։؟+BWB4DSJQUʕݴޠ༷͔ΒֶͿ+BWB4DSJQU ͷຊ࣭ʯʢ03FJMMZʣ • ʮK2VFSZ$PPLCPPLʯʢ03FJMMZʣ
• ʮ+BWB4DSJQU&OMJHIUFONFOUʯʢ03FJMMZʣ
Front-End Developer Handbook 2018 *OFYQFDUT /PUIJOHXJMMDIBOHFPSTMPXUIFVTBHFPSQPQVMBSJUZ PG 3FBDU GPSNBOZZFBSTUPDPNF
(SBQI2- XJMMSFQMBDFBMPUPG3&45"1*TUIJTZFBS 5IFXFCXJMMDPOUJOVFUPCFDPNFNPSFOBUJWFMJLF XJUIP⒐JOFDBQBCJMJUJFTBOETFBNMFTTNPCJMF FYQFSJFODFT )5.-JTDPNJOH ,FFQBOFZFPOUVSCP BCMB[JOHGBTU/1.DMJFOU &YQFDUUPMFBSOBOEVTF$44USBOTGPSNTE $44 USBOTJUJPOT $44qFYCPY $44pMUFST $44HSJE +BWB4DSJQUVTBHFXJMMDPOUJOVFUPHSPXXJUIOP TMPXEPXOJOTJHIU 4UJMMXBJUJOHPO8FC"TTFNCMZUPQFBL5IJTXJMMMJLFMZSFRVJSFUPPMJOH 6OJWFSTBMJTPNPSQIJD+BWB4DSJQUTPMVUJPOTDPOUJOVFUPFWPMWFFH OFYUKTBOE4BQQFS 8FCDPNQPOFOUTTUJMMMVSLBOEXBJUGPSTJHOJpDBOUUSBDUJPOGSPN EFWFMPQFST *CFMJFWFUIFFOEJTJOTJHIUGPS$44QSFQSPDFTTPSTBT1PTU$44 $44OFYU BOE$44JO+4UBLFPWFS 0MEFSTFSWFSDFOUSJDBQQMJDBUJPOQBUUFSOTTIPXVQBHBJOCVUXJUIB OFXTQJO5IFQFOEVMVNDPVMETUBSUUPTXJOHJOHBXBZGSPNTUSJDL41" BQQMJDBUJPOT1FPQMFXJMMCFHJOUPQVMMCBDLPOUIFDPNQMFYJUZPGTJOHMF QBHFBQQMJDBUJPOTBOESFUVSOUPUIJOHTMJLFQKBY "NJYPG41"BOE 4FSWFSTJEF3FOEFSJOH4FFIUUQTTUJNVMVTKTPSH 1SPHSFTTJWF8FC"QQMJDBUJPOTIPQFGVMMZXJMMDBUDIpSF*GUIFZEPOU *GFBSUIFZOFWFSXJMM"UMFBTUOPUJOUIFSFDVSSFOUGPSN $IBUCPUTDSFBUFEPOUIFCBTJTPGBSUJpDJBMJOUFMMJHFODFBOEOFVSBM OFUXPSLTXJMMDPOUJOVFUPFWPMWFIFMQJOHUPJODSFBTFDPNNVOJDBUJPO POMJOF*XPOEFSXIBUJUXJMMMFBEUP CVUUIJTJTVODPOEJUJPOBMXFC EFWFMPQNFOUUSFOET/PET 7VFKTVTBHFXJMMMJLFMZPWFSUBLFBMM"OHVMBSVTBHF "3"7 "* BOEDIBUCPUTXJMMDPOUJOVFUPFWPMWFBOEpOE UIFSFTXFFUTQPU +BWB4DSJQU4ZNCPMBOE(FOFSBUPSTXJMMMJLFMZHPVOOPUJDFE CZNPTUGSPOUFOEEFWFMPQFST .PSFEFWFMPQFSTXJMMEJWPSDFUIFNTFMWFTGSPNQMBJO +BWB4DSJQUBOEUSZUPNBSSZBOPUIFS#VU KVTUMJLFJONBSJUBM EJWPSDFPOFBMXBZTUBLFTNPTUPGUIFTBNFQSPCMFNTXJUIUIFN UPUIFHSFFOFSHSBTTBOEMJUUMFBDUVBMMZDIBOHFT1SFGFSFODFTBOE WBMVFTKVTUHFUSFQSJPSJUJ[FEBOEIJTUPSZXJMMSFQFBUJUTFMG 8FCQBDLXJMMIBQQFO BOECFCFUUFS EVFUPDPNQFUJUJPO $POUJOVFEFYQMPSBUJPOGPSUIFJEFBM$44TPMVUJPOGPSBUSFF PG6*DPNQPOFOUTXJMMOPUDFBTF 4UBUFNBOBHFNFOUHFUTBSFTFUBOEQFPQMFTUBSUUPTJNQMJGZ )PQFGVMMZ UIJTXJMMCFUIFZFBSGPSTPMVUJPOTMJLFNPCYUPTIJOF
Front-End Developer Handbook 2018 3FBDU (SBQI2- 18" )5.- OFX/1.$MJFOU $44
+4 8FC"TTFNCMZ 6OJWFSTBMJTPNPSQIJD+BWB4DSJQU 8FCDPNQPOFOUT $44 41" 443 18" $IBUCPUT7PJDF6* 7VFKT "3"7 "* BOEDIBUCPUT +BWB4DSJQU4ZNCPMBOE(FOFSBUPST +41PFUJDT 8FCQBDL $44 4UBUFNBOBHFNFOU ʜཁ͢Δͱ *OFYQFDUT
Front-End Developer Handbook 2018 3FBDU (SBQI2- 18" )5.- OFX/1.$MJFOU $44
+4 8FC"TTFNCMZ 6OJWFSTBMJTPNPSQIJD+BWB4DSJQU 8FCDPNQPOFOUT $44 41" 443 18" $IBUCPUT7PJDF6* 7VFKT "3"7 "* BOEDIBUCPUT +BWB4DSJQU4ZNCPMBOE(FOFSBUPST +41PFUJDT 8FCQBDL $44 4UBUFNBOBHFNFOU ʜཁ͢Δͱ ※ v.2 *OFYQFDUT
GatsbyΛ͏ϝϦοτ •०ͳٕज़ʹ·ͱΊͯखܰʹ৮ΕΒΕΔ • 18"41" (SBQI2- )551 4FSWJDF8PSLFS FUD •ΧελϚΠζ͍͢͠ςϯϓϨʔτߏʢ3FBDUʣ •දࣔϖʔδ͕രͳ18"41"ͱͯ͠ग़ྗͰ͖Δ
•σʔλʔιʔε.BSLEPXO8PSEQSFTT +40/ͳͲ৭ʑͳํ๏͕બՄೳ
None
Gatsby͕͘༻్ •#MPH •υΩϡϝϯτ •ϙʔτϑΥϦΦ •੩తϖʔδ͚ͩͷαΠτʢΩϟϯϖʔϯαΠτ-1ͳͲʣ ˞੩తδΣωϨʔλʔͳͷͰɺେنͳαΠτಈతͳϖʔδʹ͔ͳ͍ 18"ʹͯ͠ΦϑϥΠϯରԠͰ͖Ε! രͳϙʔτϑΥϦΦͳΒΠϝʔδΞοϓʁʁ
Gatsbyपล •4UBSUFSςϯϓϨʔτ Ћ • 0⒏DJBMछྨɹ$PNNVOJUZछྨҎ্ •๛ͳϓϥάΠϯ 3FBDUࢿ࢈ •Θ͔Γ͍͢υΩϡϝϯτʢӳޠʣ νϡʔτϦΞϧʢষʣ •ຊޠͷใগͳ͍
• 2JJUBຊɹ(BUTCZϒϩάຊ
(BUTCZ%PDVNFOU
(BUTCZ1MVHJOT
1.OQNͰ(BUTCZΛΠϯετʔϧɹnpm install --global gatsby-cli 2.(BUTCZͷϓϩδΣΫτΛ৽ن࡞͢Δgatsby new [DIR] [URL_OF_STARTER] ˞4UBSUFSͷςϯϓϨʔτ෦ޙ͔ΒมߋՄೳ͕ͩɺ؆୯ʹม͑ΒΕͳ͍ 3.ඞཁͳઃఆΛߦ͏ʢHBUTCZDPOpHKTPOͳͲͰαΠτ໊ͷมߋͳͲʣ
4.ςετgatsby develop 5.Ϗϧυgatsby build 6.ॻ͖ग़͞ΕͨQVCMJDσΟϨΫτϦҎԼΛEFQMPZʂ GatsbyΫΠοΫελʔτ
r,ZMF.BUIFXT(BUTCZ#MPH “ Gatsby is an early example of a web
site compiler ” “ I designed Gatsby with the goal that when using it, it'd really really hard to be a slow site ” (BUTCZXFCαΠτίϯύΠϥʔͷॳظϞσϧͰ͢ (BUTCZΛ༻͢Δͱɺ͍αΠτΛ࡞Δ͜ͱ͕͢Μ͛ʔ͘͠ͳΔΑ͏ʹ(BUTCZΛઃܭ͠·ͨ͠ɻ
Gatsbyͷৄࡉ
Gatsbyͷओཁͳ"1* gatsby new [SITE_DIRECTORY] [URL_OF_STARTER_GITHUB_REPO] r(BUTCZͷ৽نαΠτΛࢦఆͷ4UBSUFSͰ࡞͢Δ gatsby build
rݱࡏͷαΠτͰ੩తϑΝΠϧΛੜ͢Δ gatsby develop rݱࡏͷαΠτͰ։ൃαʔόʔΛ্ཱͪ͛Δ r)PU3FMPBEʢ+4ϑΝΠϧ͚ͩͰͳ͘.BSLEPXOϑΝΠϧʣ r(SBQIJ2-ʢ(SBQI2-*%&ʣ
(BUTCZ#VJME%FWFMPQ gatsby build – 28sec gatsby develop – 8.5sec
(SBQIJ2-rHBUTCZEFWFMPQ࣌ʹىಈ͢ΔʢIUUQMPDBMIPTU@@@HSBQIRMʣ
Gatsbyͷߏཁૉ 4UBSUFSςϯϓϨʔτ δΣωϨʔλʔ • (SBQI2-ΛΠϯλʔϑΣʔεʹσʔλΛऔಘ • 3FBDUͷςϯϓϨʔτ͔Β੩తϑΝΠϧΛॻ͖ग़͢ •
ύϑΥʔϚϯεʹ࠷దԽͨ͠ॻ͖ग़͠ දࣔ
4UBSUFSςϯϓϨʔτ
4UBSUFSςϯϓϨʔτ
src/templates/blog-post.js (SBQI2-ʹΑΔ औಘσʔλͷࢦఆ (SBQI2-Ͱࢦఆͨ͠σʔλ͕ 1SPQTͱͯ͠͞ΕΔ
ςϯϓϨʔτͷ(SBQI2-Λऔಘ ςϯϓϨʔτʹهड़ͨ͠(SBQI2-Λ औಘͯ͠%BUB4PVSDF͔ΒσʔλΛऔಘ δΣωϨʔλʔ
%BUB4PVSDF͔Βऔಘͨ͠σʔλΛ"45 ʢ+40/ʣ ʹม͠ 3FBDUͷίϯϙʔωϯτʹQSPQTͱͯ͢͠ δΣωϨʔλʔ
)5.-ϑΝΠϧ+4ͱͯ͠ ύϑΥʔϚϯεʹߟྀͨ͠ܗͰॻ͖ग़͢ ·ͨඞཁͳը૾$44߹Θͤͯॻ͖ग़͠ δΣωϨʔλʔ
•#MB[JOHGBTUͳ͞ύϑΥʔϚϯεͷٻ • $44ΠϯϥΠϯల։ • ػతͳઌಡΈɹMJOLSFMlQSFMPBEz • 4FSWJDF8PSLFS ΩϟογϡίϯτϩʔϧɾΦϑϥΠϯରԠ •
+4ͷϑΝΠϧׂʢ8FCQBDLʣ • 131-1BUUFSO • )551QVTI •41"ʹΑΔεϜʔζͳϖʔδભҠ •΄΅ඪ४Ͱ18"Խ͕Մೳ දࣔ
ػతͳઌಡΈ ԼίϯςϯπͳͲ 8FCQBDL+40/1 ΠϯϥΠϯʹ$44ల։ +4ͷϑΝΠϧׂ ࠷ॳʹඞཁͳ+4ͱ ޙ͔ΒͰ͍͍+4Λྨ 131-1BUUFSO 1VTI 3FOEFS
1SFDBDIF -B[ZMPBE දࣔ r(BUTCZͷ)5.-ΛݟΔ
දࣔ r/FUXPSLʢ4FSWJDF8PSLFSΠϯετʔϧલʣ %0.$POUFOU-PBEFE NT -PBE NT
%0.$POUFOU-PBEFE NT -PBE NT දࣔ r/FUXPSLʢ4FSWJDF8PSLFSΠϯετʔϧޙʣ
%0.$POUFOU-PBEFE NT -PBE NT දࣔ r/FUXPSLWTIUUQBCFIJSPTIJMBDPPDBOKQ %0.$POUFOU-PBEFE NT -PBE NT
vs
දࣔ r"VEJUTʹΑΔධՁ ඪ४ঢ়ଶͰߴείΞ ˞18"ͷΈϓϥάΠϯՃ গ͠ͷվળͰຬ͕ࢦͤͦ͏ r(PPHMF8FC'POUTͷઃఆ r'JSTUNFBOJOHGVMQBJOU
Gatsby Super Fast •(BUTCZΛ͏ͱ രαΠτϒϩά͕؆୯ʹͰ͖·͢ʂ •ࠓৄࡉͳΈΛઆ໌͚ͨ͠Ͳ ͋Ε؆୯ʹͰ͖ͪΌ͍·͢ʂʂ •(BUTCZ०ͷٕज़ςϯίΓͳͷͰ ϑϩϯτΤϯυษڧͷࡐͱͯ͠࠷ߴ ·ͱΊ
Gatsby Super Fast!!!