Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
フロントエンジニアの戦闘力をエンパワメントするheadlessCMSという選択肢
Search
Takuya Takeda
November 18, 2023
1
53
フロントエンジニアの戦闘力をエンパワメントするheadlessCMSという選択肢
Takuya Takeda
November 18, 2023
Tweet
Share
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
Producing Creativity
orderedlist
PRO
348
40k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Code Reviewing Like a Champion
maltzj
527
40k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Site-Speed That Sticks
csswizardry
13
1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
For a Future-Friendly Web
brad_frost
180
10k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
2023/11/18 ϑϩϯτΤϯυΧϯϑΝϨϯεԭೄ2023 ϑϩϯτΤϯδχΞͷઓಆྗΛΤϯύϫ ϝϯτ͢ΔheadlessCMSͱ͍͏બࢶ
ϓϩϑΟʔϧ Name: Take • ԭೄݝࡏॅͷWebܥΤϯδχΞ • Ԭࢁݝग़ • ࠓϋϚ͍ͬͯΔͷ •
ౡݝ ҆ܳߴాࢢ ࢢٞձ • Twitter • @taketaku123 ΊΜͦʔΕͰ͍͟͝·͢ɻ
͜Μͳํʹ͚ͯ • WebαΠτʹɺཧ͞ΕͨίϯςϯπΛຒΊࠐΈ͍ͨ • ϑϩϯτΤϯυΤϯδχΞ • ӡ༻୲ऀ • Headless CMSΛͬͨ͜ͱ͕ͳ͍
ྫ͑ɺ͜Μͳͷ • Web ϖʔδͷϝλσʔλ • SEOOGP • ͓ΒͤɺهࣄɺFAQ(Α͋͘Δ࣭) • Topϖʔδͷจݴը૾
• ଟݴޠରԠ
WebαΠτΛߏங͢Δͱ͖ͷ ͜Μͳ՝ • ؆୯ʹσʔλϕʔεͱϞσϧΛఆٛͯ͠ɺαʔϏεӡ༻ऀʹσʔλೖ ྗͯ͠Β͍ɺͦͷσʔλΛऔಘͯ͠ɺWebαΠτʹө͍ͤͨ͞ • ਓҝతͳϛε͕ى͜Βͳ͍༷ʹɺೖྗʹ੍ݶΛઃ͚͍ͨ • ຊ൪༻͚ͩ͡Όͳ͘ɺݕূ༻ߟྀ͍ͨ͠ •
GraphQLͰσʔλΛऔಘ͍ͨ͠ • ͦΜͳʹ͓͔͚ۚ࣌ؒͨ͘ͳ͍
WebαΠτΛߏங͢Δͱ͖ͷ ͍ΖΜͳղܾ๏ • ϑϧεΫϥον։ൃ • ϊʔίʔυαʔϏε • Studio/Webflow/Notion • ϩʔίʔυαʔϏε
• Google Spreads Sheet ʴ Google App Script(GAS) • Airtable • Headless CMS ← ࠓճͪ͜Β
Headless CMSͱ
Headless CMSͱ APIΛհͯ͠ར༻Ͱ͖Δ ίϯςϯπཧγεςϜ
σʔλϕʔε ཧը໘ CMS ίϯςϯπཧऀ API
Headless CMSͷجຊػೳ ίΞͱͳΔ3ͭͷػೳ 1. Ϟσϧɾςʔϒϧઃܭ 2. σʔλೖྗ 3. ΫϥΠΞϯτΞϓϦ ͷΈࠐΈ
Headless CMSͷجຊػೳ ίΞͱͳΔ3ͭͷػೳ 1. Ϟσϧɾςʔϒϧઃܭ 2. σʔλೖྗ 3. ΫϥΠΞϯτΞϓϦ ͷΈࠐΈ
Headless CMSͷجຊػೳ 1. Ϟσϧઃܭɾςʔϒϧఆٛ - σʔλΛҙຯͷ͋Δ୯Ґʹ͢Δ͜ͱ͕Ͱ͖Δɻ (Contentful / visual modelertorͷػೳΑΓ)
CMSͷجຊػೳ 1. Ϟσϧઃܭɾςʔϒϧఆٛ - σʔλϑΟʔϧυ • Text/Number/Boolean • Media(Իɾը૾ɾಈը)
CMSͷجຊػೳ 1. Ϟσϧઃܭɾςʔϒϧఆٛ - σʔλϑΟʔϧυ • Text/Number/Boolean • Media(Իɾը૾ɾಈը) •
Rich Text (micro CMSΑΓ)
CMSͷجຊػೳ 1. Ϟσϧઃܭɾςʔϒϧఆٛ - σʔλϑΟʔϧυ • Text/Number/Boolean • Media(Իɾը૾ɾಈը) •
Rich Text • ؔ࿈͚(has_many, has_one, polymorphic)
Headless CMSͷجຊػೳ ίΞͱͳΔ3ͭͷػೳ 1. Ϟσϧɾςʔϒϧઃܭ 2. σʔλೖྗ 3. ΫϥΠΞϯτΞϓϦ ͷΈࠐΈ
Headless CMSͷجຊػೳ 2. σʔλೖྗ - ϞσϧఆٛΛݩʹσʔλΛೖྗͰ͖Δ ೖྗ੍ݶ • ඞਢೖྗ •
ϢχʔΫ੍ • ύλʔϯϚονϯά ͳͲ (Contentful ΑΓ)
Headless CMSͷجຊػೳ ίΞͱͳΔ3ͭͷػೳ 1. Ϟσϧɾςʔϒϧઃܭ 2. σʔλೖྗ 3. ΫϥΠΞϯτΞϓϦ ͷΈࠐΈ
Headless CMSͷઆ໌ 3. ΫϥΠΞϯτΞϓϦͷΈࠐΈ • ։ൃऀϑΝʔετʹαʔϏε͕ઃܭ͞Ε͍ͯΔ • REST API͚ͩͰͳ͘ɺGraphQlఏڙ͞Ε͍ͯΔ߹͕ଟ͍ •
SDKଟ͘ͷαʔϏεͰఏڙ͞Ε͍ͯΔ • ๛ͳΠϕϯτΛτϦΨʔʹWebhookΛઃ͚Δ͜ͱ͕Ͱ͖Δ • ։ൃڥɺݕূɺຊ൪༻ͳͲ։ൃͷ͕͢͠͞ߟྀ͞Ε͍ͯΔ • ແྉͷൣғͰग़དྷΔ͜ͱ͕ଟ͍ • SSG(Static Site Generation)ͱ૬ੑ͕Α͍
Headless CMSͲΜͳ࣌ʹ͑Δʁ(ࣄྫ)
Headless CMSͲΜͳ࣌ʹ͑Δʁ ΑΓෳࡶͳࣄྫ: 20Ҏ্ͷϩʔΧϧαΠτྔ࢈ཧγεςϜ ํαΠτA ʴಠࣗUI ϑΝΫτϦʔ ڞ௨UIίϯϙʔωϯτ Headless CMSʹΑΔ
ίϯςϯπ੍ޚ ํαΠτB ʴಠࣗUI ํαΠτC ʴಠࣗUI ํαΠτD ʴಠࣗUI Genenrate ෳͷαΠτʹލΔ ίϯςϯπͷจݴมߋ UIͷදࣔඇදࣔॱ൪ͷ੍ޚ
Headless CMS Ұཡ • Contentful • micro CMS ɾɾɾຊ •
hygraph • Kurokoɾɾɾຊ ͳͲ
͑ΔλΠϛϯά͕͋ͬͨΒͥͻͬͯΈ ͍ͯͩ͘͞