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
Drupalでアプリケーション開発を始めよう #devboost / Get started ...
Search
アクイアジャパン Acquia Japan
December 12, 2020
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Drupalでアプリケーション開発を始めよう #devboost / Get started developing applications with Drupal
https://event.shoeisha.jp/devboost/20201212
アクイアジャパン Acquia Japan
December 12, 2020
More Decks by アクイアジャパン Acquia Japan
See All by アクイアジャパン Acquia Japan
Auth0 by OktaとDrupalで実践!認証付きアプリケーションの新しいアプローチ
acquiajp
0
230
Drupal 10.3の新機能紹介ウェビナー
acquiajp
0
270
DrupalCon Portland 2024 総まとめウェビナー
acquiajp
0
130
開発者必見!Acquia Cloud IDEで最高のDrupal開発を始めよう
acquiajp
0
230
触って学ぶ!デジタルアセット管理 Acquia DAM ハンズオンウェビナー
acquiajp
0
56
DrupalCon Lille 2023 総まとめウェビナー
acquiajp
0
100
コンテンツ設計手法で変更に強いアプリケーションを実現する〜ローコードによるWebアプリのバックエンド実装 #CNDF2023
acquiajp
0
410
DrupalCon Pittsburgh 2023 総まとめウェビナー
acquiajp
0
110
Acquia製品概要&Site Studioデモのご紹介
acquiajp
0
140
Other Decks in Programming
See All in Programming
Google Apps Script で Ruby を動かす
kawahara
0
220
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
110
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
780
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
910
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
180
React本体のコードリーディング
high_g_engineer
1
140
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
550
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
180
the container ship “Apple Silicon”@WWDC26 Recap -Japan-\(region).swift
shingangan
0
120
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.6k
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
1
230
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
220
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
860
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
490
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
470
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Curse of the Amulet
leimatthew05
2
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Odyssey Design
rkendrick25
PRO
2
750
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
460
Transcript
DrupalͰ ΞϓϦέʔγϣϯ։ൃ Λ࢝ΊΑ͏ ΞΫΠΞδϟύϯ߹ಉձࣾ ؙࢁ ͻ͔Δ
ຊ͓͢͠Δ͜ͱ
• 199110݄29 ੜ·Ε • ಠཱܥιϑτΣΞ։ൃձࣾͰιϑτΣΞΤϯδχΞ • ͷͪΤόϯδΣϦετͱͯ͠ϓϩμΫτͷܒ׆ಈ • 20198݄ ΞΫΠΞʹδϣΠϯ
• ΣϒαΠτͷίϯςϯπͷ ٕज़༁ϩʔΧϥΠζΛ୲ Ruby / Rails / Web API / Docker / AWS ϥʔϝϯ / εΠʔπ / Ωϟϯϓ൧ / ొࢁ ͰDrupalهࣄ࿈ࡌதʂ Profile ΞΫΠΞδϟύϯ ؙࢁͻ͔Δ ςΫχΧϧτϥϯεϨʔλʔ
Έͳ͞ΜͷDrupalͷҹΛڭ͍͑ͯͩ͘͞ ?
Έͳ͞ΜͷDrupalͷҹΛڭ͍͑ͯͩ͘͞ – ੲฉ͍ͨ͜ͱ͕͋Γ·͢ – ॳΊͯฉ͖·ͨ͠ – ݹ͍ҹ͕͋Γ·͢ – WordPressͱԿ͕ҧ͏ΜͰ͔͢ʁ –
ւ֎Ͱଟ͍ͱฉ͖·͕͢ɺ ຊͰར༻ऀ͕গͳ͍ͷͰʁ – ӳޠ͔ΓͰຊޠͷࢿྉ͕গͳ͍
Έͳ͞ΜͷDrupalͷҹΛڭ͍͑ͯͩ͘͞ – ੲฉ͍ͨ͜ͱ͕͋Γ·͢ – ॳΊͯฉ͖·ͨ͠ – ݹ͍ҹ͕͋Γ·͢ – WordPressͱԿ͕ҧ͏ΜͰ͔͢ʁ –
ւ֎Ͱଟ͍ͱฉ͖·͕͢ɺ ຊͰར༻ऀ͕গͳ͍ͷͰʁ – ӳޠ͔ΓͰຊޠͷࢿྉ͕গͳ͍ ຊηογϣϯ ରऀ
ΞδΣϯμ 1. ΦʔϓϯιʔεCMS Drupalͱ 2.Drupalͷ͕͍͜͜͢͝ʂ 3.DrupalͰ։ൃΛ࢝ΊΔ
• 2001ʹੜͨ͠PHPͷΦʔϓϯιʔεCMS • σδλϧମݧΛఏڙ͢ΔͨΊͷϓϥοτϑΥʔϜ • ݸਓϒϩά͔ΒେنͳWebαʔϏε·Ͱ ෯͘ར༻͞ΕΔ 100ສ+ WebαΠτͰՔ ಇ
46,000ਓ+ Drupal։ൃऀ 8,000ਓ+ ίϯτϦϏϡʔ λʔ 130ສਓ+ ίϛϡχςΟ 51%+ (લൺ) ಛ • ݎ࿚ͳηΩϡϦςΟ • ύϑΥʔϚϯεͱ εέʔϥϏϦςΟ • ଟݴޠରԠ • ίϯςϯπ࡞ • Content as a ServiceʢCaaSʣ
DrupalͷγεςϜ ݱࡏͷ࠷৽όʔδϣϯ Drupal 9.1.xʢ202012݄ݱࡏʣ ελοΫ - PHP - MySQL
- Apache, Nginx ϥΠϒϥϦ Drupal 8͔Β Symfony ϑϨʔϜϫʔΫ͕࠾༻ - Composer - Twig - PHPUnit
୭͕࡞ͬͨͷ͔ υϦεɾόΠλϧτʢDries Buytartʣ - ΞΫΠΞͷڞಉઃཱऀ ݉ CTO - ݱࡏDrupalϓϩδΣΫτϦʔυΛΊɺ ੵۃతʹ׆ಈத
- ΞΫΠΞͱDrupalͷؔ - DrupalͷPaaSͱαϙʔτΛఏڙ - Drupal։ൃʹίϛοτ͢ΔΤϯδχΞΛ࠾༻ - Drupal 8ͷ্Ґ20ਓͷߩݙऀͷ͏ͪ - 5ਓ͕ΞΫΠΞʹॴଐ - ੈքͰ།ҰɺDrupalೝఆࢼݧΛఏڙ - ...etc
ʮDrupalʯ໊લͷ༝དྷ - ΦϥϯμޠͰʮଜʯΛҙຯ͢ΔʮdorpʯͷͭΓ͕ ʮdropʯͱλΠϙͯ͠ drop.org ͕ެ։ - 2001ɺιϑτΣΞΛެ։͢ΔࡍʹʮਫణʯΛҙຯ͢Δ ΦϥϯμޠͷʮdruppelʯͷӳޠͷൃԻ ʹ༝དྷͯ͠
Drupal ͱ໊͚ΒΕΔ 2000 2020 ݱࡏͷϩΰ ϩΰͷมભ
Drupalͷ͕͍͜͜͢͝ʂ ✓ ؆୯ͳϒϩάαΠτ͔ΒେنΣϒγεςϜ·Ͱ Χόʔ͢Δ֦ுੑߴ͍ϓϥοτϑΥʔϜ ✓ ίʔσΟϯά͠ͳͯ͘ଟ͘ͷ͜ͱ͕࣮ݱͰ͖Δ ✓ ৗʹਐԽ͠ଓ͚͍ͯΔ
֦ுੑߴ͍ϓϥοτϑΥʔϜ CMSͱWebϑϨʔϜϫʔΫͷதؒతଘࡏ https://medium.com/sthlmconnection/drupal-wordpress-and-all-the- rest-90cb9b798d0c ߴ͍֦ுੑ ͙͢ʹ͑Δ ۩ମతͳར༻γʔϯ - ଟݴޠαΠτʢେֶɺاۀʣ -
ϝσΟΞαΠτ - ձһϙʔλϧαΠτ - ECαΠτ - τϥϑΟοΫྔͷଟ͍αΠτ - ...etc
͙͢ʹ͑Δɿ࠷ॳ͔Βؚ·ΕΔඪ४ػೳʢίΞػೳʣ – ཧUI – ίϯςϯπͷ࡞ɺཧ – ϑΟʔϧυཧ – Ϣʔβʔ࡞ɺݖݶཧ –
Views(ΫΤϦϏϧμʔ) – ଟݴޠ – Ωϟογϯά – ঝೝϫʔΫϑϩʔ – ߏཧπʔϧ – Rest API – ...etc
Drupalͷσʔλ - ݩʑɺBBSʢܝࣔ൘ʣ γεςϜ͔Βੜ·ΕͨCMS - ίϯςϯπλΠϓʢχϡʔεهࣄɺళฮใͳͲͷίϯςϯπͷΧςΰϦʣ ͱϑΟʔϧυΛࣗ༝ʹઃఆ - ίϯςϯπͷ࠶ར༻ੑ -
ϒϩοΫ - ߴੑೳΫΤϦϏϧμʔ - DrupalͷΤϯςΟςΟ - ϊʔυɺϢʔβʔɺϑΝΠϧɺλΫιϊϛʔ...etc - ಠࣗͰΤϯςΟςΟλΠϓΛఆٛՄೳ - Rest APIͷඪ४උ
Drupal ϞδϡϥʔࣜϑϨʔϜϫʔΫ ϨΰϒϩοΫͷΑ͏ʹػೳΛΈ߹ΘͤΔ – ʮϞδϡʔϧʯ...খ͍͞ػೳͷ͔ͨ·Γ – ඪ४ػೳෳͷϞδϡʔϧͰߏ͞Ε͍ͯΔ ྫʣϒϩοΫɺviews(ΫΤϦϏϧμʔ) ɹɹϑΟʔϧυɺݕࡧɺϢʔβʔཧ...etc –
4ສݸҎ্ͷެ։Ϟδϡʔϧ – ʮσΟετϦϏϡʔγϣϯʯ ...ಛఆͷϢʔεέʔεʢECαΠτͳͲʣ ʹಛԽͯ͠ ඞཁͳϞδϡʔϧઃఆΛ·ͱΊͨͷ
Drupalͷ͕͍͜͜͢͝ʂ ✓ ؆୯ͳϒϩάαΠτ͔ΒେنΣϒγεςϜ·Ͱ Χόʔ͢Δ֦ுੑߴ͍ϓϥοτϑΥʔϜ ✓ ίʔσΟϯά͠ͳͯ͘ଟ͘ͷ͜ͱ͕࣮ݱͰ͖Δ ✓ ৗʹਐԽ͠ଓ͚͍ͯΔ
Γͳ͍ػೳ͚ͩίʔσΟϯά 1. GUIͰαΠτߏங Γͳ͍ػೳ͕͋Δʁ → No ↓ Yes 2. Drupal.org
Ͱެ։͞Ε͍ͯΔ ϞδϡʔϧΛ୳͢ 4ສݸҎ্! Γͳ͍ػೳ͕͋Δʁ → No ↓ Yes 3. ϞδϡʔϧΛࣗ࡞ ͢Ͱʹ͋ΔͷΛ׆༻͠εϐʔσΟʔʹߏங DrupalΤίγεςϜΛ ϑϧ׆༻&อकੑ্
DrupalͷίʔσΟϯά Symfonyͷ࠾༻ʹΑΓϞμϯͳPHP࣮͕Մೳʹ ʢDrupal 8ʙʣ - OOPʢΦϒδΣΫτࢦϓϩάϥϛϯάʣ - ϓϥάΠϯγεςϜ - αʔϏείϯςφʔ
- TwigςϯϓϨʔτ - Drupal Console - YML - ...etc
Drupalͷ͕͍͜͜͢͝ʂ ✓ ؆୯ͳϒϩάαΠτ͔ΒେنΣϒγεςϜ·Ͱ Χόʔ͢Δ֦ுੑߴ͍ϓϥοτϑΥʔϜ ✓ ίʔσΟϯά͠ͳͯ͘ଟ͘ͷ͜ͱ͕࣮ݱͰ͖Δ ✓ ৗʹਐԽ͠ଓ͚͍ͯΔ
Drupalͷྺ࢙
Drupal 7 -> 8 ௧Έͷ͏Ξοϓσʔτ ΞʔΩςΫνϟΛ৽͓͔ͨ͛͠Ͱɾɾ - Drupal 8Ͱଟ͘ͷػೳΛϦϦʔε -
ϨΠΞτϏϧμʔʗϝσΟΞཧʗComposerʗJSON:API ʗߏཧʗঝೝϫʔΫϑϩʔʗ...etc - 201511݄ - Symfonyͷ࠾༻ → ΄΅શͳ࡞Γ͠ - ·ͩDrupal 7͔ΒΓ͑ΒΕͳ͍
None
20206݄ Drupal 9 ϦϦʔεʂ 4.5ͿΓͷϝδϟʔόʔδϣϯ
Drupal 9Ͱͷ৽͍͠ػೳ • ओཁͳґଘؔͷΞοϓσʔτ • Symfony 3.4 → 4.4 •
Twig 1 → 2 • ͍͔ͭ͘ͷjQuery UI Componentsͷআ • PHPUnit 8 ͷαϙʔτ • ͦͷଞ ͍͔ͭ͘ͷΞοϓσʔτ (Doctrine, Diactoros, Zend/Laminas, etc.) Drupal 9 ͷγεςϜཁ݅ • PHP minimum 7.3 • MySQL minimum 5.7.8 • MariaDB minimum 10.2.7 • PostgreSQL minimum 10 with pg_trgm extension • SQLite minimum 3.26 • Only Drush 10 supports Drupal 9 Drupal 8 -> 9 ۙ10Ͱ࠷؆୯ͳΞοϓάϨʔυ
Drupalͷ͜Ε͔ΒʢҰ෦ൈਮʣ – ϒϥβ͚ͩͰͳ͍ɺνϟοτϘοτεϚϗΞϓϦͳͲ Ϛϧννϟωϧ৴ΛՄೳʹ͢ΔίϯςϯπϦϙδτϦ – JavaScriptϑϨʔϜϫʔΫͷରԠ → ϔουϨεCMS ࠷ߴͷߏԽσʔλΤϯδϯΛࢦ͢
Drupalͷ͜Ε͔Βᶄ Drupal 10 ʹ͚ͯͷऔΓΈ͕ൃද - 20226݄ϦϦʔε༧ఆ - 5ͭͷΠχγΞνϒ - Drupal
10ͷ४උ - ͙͢ʹ͑Δ؆୯ͳΤΫεϖϦΤϯε - ৽͍͠ϑϩϯτΤϯυςʔϚʢOliveroʣ - ηΩϡϦςΟϦϦʔεͷࣗಈߋ৽ - JSϝχϡʔίϯϙʔωϯτ https://dri.es/state-of-drupal-presentation-july-2020
ΞδΣϯμ 1. ΦʔϓϯιʔεCMS Drupalͱ 2.Drupalͷ͕͍͜͜͢͝ʂ 3.DrupalͰ։ൃΛ࢝ΊΔ
Drupal Ͱ։ൃΛ࢝ΊΑ͏ ✓ DrupalͷΠϯετʔϧ ✓ αΠτߏங ✓ ςʔϚ։ൃ ✓ Ϟδϡʔϧ։ൃ
CodeZineͰઈࢍ࿈ࡌத Drupal 9 Ͱ࢝ΊΔ WebαΠτ։ൃೖ ΑΖ͓͘͠ئ͍͠·͢ʂ Drupal CodeZine ଓ͖ɾɾɾɾ
ઈࢍࣥචதʂ
·ͱΊ ✓ DrupalখنαΠτ͔ΒେنαΠτ·Ͱ ରԠՄೳͳߴػೳCMS ✓ DrupalͷΤίγεςϜΛϑϧ׆༻ͯ͠ ޮΑ͘γεςϜΛߏஙͰ͖Δʂ ✓ 2001͔Βଘࡏ͢Δݹ͍CMS͕ͩ σδλϧମݧΛఏڙ͢ΔͨΊͷϓϥοτϑΥʔϜ
ͱͯ͠ࠓਐԽ͠ଓ͚͍ͯΔʂ
άϩʔόϧ Ϗδϣϯɿ ”ੈք࠷ߴͷσδλϧମݧΛ͢ΔΫϥυϓϥοτϑΥʔϜΛఏ ڙ” ຊࣾɿถࠃϘετϯ ۀɿ2007 ΦʔϓϯιʔεCMSͷDrupalΛ։ൃͨ͠ɺ Dries Buytaert͕ۀ ຊΛؚΉ8Χࠃ
15ڌɺࣾһɿ1,000໊ ސ٬ɿ4,000ࣾɺύʔτφʔɿ800ࣾ ձࣾ֓ཁ ©2019 Acquia Inc. — Confidential and Proprietary 33 ຊ๏ਓ ॴࡏɿ౦ژौ୩۠ौ୩2-24-12 ौ୩εΫϥϯϒϧεΫΤΞWeWork 39F ઃཱɿ201810݄ ಋೖ࣮ɿେखॏۀϝʔΧʔɺΞύϨϧϝʔ Χʔɺେखༀձࣾ ΞΫΠΞࣾʹ͍ͭͯ
None