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
フロントエンジニアの戦闘力をエンパワメントするheadlessCMSという選択肢
Search
Takuya Takeda
November 18, 2023
1
46
フロントエンジニアの戦闘力をエンパワメントするheadlessCMSという選択肢
Takuya Takeda
November 18, 2023
Tweet
Share
Featured
See All Featured
The Language of Interfaces
destraynor
154
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
GitHub's CSS Performance
jonrohan
1030
460k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
What's in a price? How to price your products and services
michaelherold
243
12k
Designing for Performance
lara
604
68k
Ruby is Unlike a Banana
tanoku
97
11k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Designing Experiences People Love
moore
138
23k
Building Applications with DynamoDB
mza
90
6.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
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ɾɾɾຊ ͳͲ
͑ΔλΠϛϯά͕͋ͬͨΒͥͻͬͯΈ ͍ͯͩ͘͞