Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Drupalでアプリケーション開発を始めよう #devboost / Get started developing applications with Drupal

Drupalでアプリケーション開発を始めよう #devboost / Get started developing applications with Drupal

Transcript

  1. DrupalͰ ΞϓϦέʔγϣϯ։ൃ Λ࢝ΊΑ͏ ΞΫΠΞδϟύϯ߹ಉձࣾ ؙࢁ ͻ͔Δ

  2. ຊ೔͓࿩͢͠Δ͜ͱ

  3. • 1991೥10݄29೔ ੜ·Ε • ಠཱܥιϑτ΢ΣΞ։ൃձࣾͰιϑτ΢ΣΞΤϯδχΞ • ͷͪΤόϯδΣϦετͱͯ͠ϓϩμΫτͷܒ໤׆ಈ • 2019೥8݄ ΞΫΠΞʹδϣΠϯ

    • ΢ΣϒαΠτͷίϯςϯπͷ
 ٕज़຋༁΍ϩʔΧϥΠζΛ୲౰ Ruby / Rails / Web API / Docker / AWS ϥʔϝϯ / εΠʔπ / Ωϟϯϓ൧ / ొࢁ ͰDrupalهࣄ࿈ࡌதʂ Profile ΞΫΠΞδϟύϯ ؙࢁͻ͔Δ ςΫχΧϧτϥϯεϨʔλʔ
  4. Έͳ͞ΜͷDrupalͷҹ৅Λڭ͍͑ͯͩ͘͞ ?

  5. Έͳ͞ΜͷDrupalͷҹ৅Λڭ͍͑ͯͩ͘͞ – ੲฉ͍ͨ͜ͱ͕͋Γ·͢ – ॳΊͯฉ͖·ͨ͠ – ݹ͍ҹ৅͕͋Γ·͢ – WordPressͱԿ͕ҧ͏ΜͰ͔͢ʁ –

    ւ֎Ͱ͸ଟ͍ͱฉ͖·͕͢ɺ
 ೔ຊͰ͸ར༻ऀ͕গͳ͍ͷͰ͸ʁ – ӳޠ͹͔ΓͰ೔ຊޠͷࢿྉ͕গͳ͍
  6. Έͳ͞ΜͷDrupalͷҹ৅Λڭ͍͑ͯͩ͘͞ – ੲฉ͍ͨ͜ͱ͕͋Γ·͢ – ॳΊͯฉ͖·ͨ͠ – ݹ͍ҹ৅͕͋Γ·͢ – WordPressͱԿ͕ҧ͏ΜͰ͔͢ʁ –

    ւ֎Ͱ͸ଟ͍ͱฉ͖·͕͢ɺ
 ೔ຊͰ͸ར༻ऀ͕গͳ͍ͷͰ͸ʁ – ӳޠ͹͔ΓͰ೔ຊޠͷࢿྉ͕গͳ͍ ຊηογϣϯ ର৅ऀ
  7. ΞδΣϯμ 1. ΦʔϓϯιʔεCMS Drupalͱ͸ 2.Drupalͷ͕͍͜͜͢͝ʂ 3.DrupalͰ։ൃΛ࢝ΊΔ

  8. • 2001೥ʹ஀ੜͨ͠PHP੡ͷΦʔϓϯιʔεCMS • σδλϧମݧΛఏڙ͢ΔͨΊͷϓϥοτϑΥʔϜ • ݸਓϒϩά͔Βେن໛ͳWebαʔϏε·Ͱ
 ෯޿͘ར༻͞ΕΔ 100ສ+ WebαΠτͰՔ ಇ

    46,000ਓ+
 Drupal։ൃऀ 8,000ਓ+ ίϯτϦϏϡʔ λʔ 130ສਓ+ ίϛϡχςΟ 51%+
 ੒௕཰(લ೥ൺ) ಛ௃ • ݎ࿚ͳηΩϡϦςΟ • ύϑΥʔϚϯεͱ
 εέʔϥϏϦςΟ • ଟݴޠରԠ • ίϯςϯπ࡞੒ • Content as a ServiceʢCaaSʣ
  9. DrupalͷγεςϜ ݱࡏͷ࠷৽όʔδϣϯ Drupal 9.1.xʢ2020೥12݄ݱࡏʣ 
 ελοΫ - PHP - MySQL

    - Apache, Nginx ϥΠϒϥϦ Drupal 8͔Β Symfony 
 ϑϨʔϜϫʔΫ͕࠾༻ - Composer - Twig - PHPUnit
  10. ୭͕࡞ͬͨͷ͔ υϦεɾόΠλϧτʢDries Buytartʣ - ΞΫΠΞͷڞಉઃཱऀ ݉ CTO - ݱࡏ΋DrupalϓϩδΣΫτϦʔυΛ຿Ίɺ
 ੵۃతʹ׆ಈத


    - ΞΫΠΞͱDrupalͷؔ܎ - DrupalͷPaaSͱαϙʔτΛఏڙ - Drupal։ൃʹίϛοτ͢ΔΤϯδχΞΛ࠾༻ - Drupal 8ͷ্Ґ20ਓͷߩݙऀͷ͏ͪ - 5ਓ͕ΞΫΠΞʹॴଐ - ੈքͰ།ҰɺDrupalೝఆࢼݧΛఏڙ - ...etc
  11. ʮDrupalʯ໊લͷ༝དྷ - ΦϥϯμޠͰʮଜʯΛҙຯ͢Δʮdorpʯͷͭ΋Γ͕
 ʮdropʯͱλΠϙͯ͠ drop.org ͕ެ։ - 2001೥ɺιϑτ΢ΣΞΛެ։͢ΔࡍʹʮਫణʯΛҙຯ͢Δ
 ΦϥϯμޠͷʮdruppelʯͷӳޠͷൃԻ
 ʹ༝དྷͯ͠

    Drupal ͱ໊෇͚ΒΕΔ 2000೥ 2020೥ ݱࡏͷϩΰ ϩΰͷมભ
  12. Drupalͷ͕͍͜͜͢͝ʂ ✓ ؆୯ͳϒϩάαΠτ͔Βେن໛΢ΣϒγεςϜ·Ͱ
 Χόʔ͢Δ֦ுੑߴ͍ϓϥοτϑΥʔϜ ✓ ίʔσΟϯά͠ͳͯ͘΋ଟ͘ͷ͜ͱ͕࣮ݱͰ͖Δ ✓ ৗʹਐԽ͠ଓ͚͍ͯΔ

  13. ֦ுੑߴ͍ϓϥοτϑΥʔϜ CMSͱWebϑϨʔϜϫʔΫͷதؒతଘࡏ https://medium.com/sthlmconnection/drupal-wordpress-and-all-the- rest-90cb9b798d0c ߴ͍֦ுੑ ͙͢ʹ࢖͑Δ ۩ମతͳར༻γʔϯ - ଟݴޠαΠτʢେֶɺاۀʣ -

    ϝσΟΞαΠτ - ձһϙʔλϧαΠτ - ECαΠτ - τϥϑΟοΫྔͷଟ͍αΠτ - ...etc
  14. ͙͢ʹ࢖͑Δɿ࠷ॳ͔Βؚ·ΕΔඪ४ػೳʢίΞػೳʣ – ؅ཧUI – ίϯςϯπͷ࡞੒ɺ؅ཧ – ϑΟʔϧυ؅ཧ – Ϣʔβʔ࡞੒ɺݖݶ؅ཧ –

    Views(ΫΤϦϏϧμʔ) – ଟݴޠ – Ωϟογϯά – ঝೝϫʔΫϑϩʔ – ߏ੒؅ཧπʔϧ – Rest API – ...etc
  15. Drupalͷσʔλ - ݩʑɺBBSʢܝࣔ൘ʣ γεςϜ͔Βੜ·ΕͨCMS - ίϯςϯπλΠϓʢχϡʔεهࣄɺళฮ৘ใͳͲͷίϯςϯπͷΧςΰϦʣ
 ͱϑΟʔϧυΛࣗ༝ʹઃఆ - ίϯςϯπͷ࠶ར༻ੑ -

    ϒϩοΫ - ߴੑೳΫΤϦϏϧμʔ - DrupalͷΤϯςΟςΟ - ϊʔυɺϢʔβʔɺϑΝΠϧɺλΫιϊϛʔ...etc - ಠࣗͰΤϯςΟςΟλΠϓΛఆٛՄೳ - Rest APIͷඪ४૷උ
  16. Drupal ͸ϞδϡϥʔࣜϑϨʔϜϫʔΫ ϨΰϒϩοΫͷΑ͏ʹػೳΛ૊Έ߹ΘͤΔ – ʮϞδϡʔϧʯ...খ͍͞ػೳͷ͔ͨ·Γ – ඪ४ػೳ΋ෳ਺ͷϞδϡʔϧͰߏ੒͞Ε͍ͯΔ
 ྫʣϒϩοΫɺviews(ΫΤϦϏϧμʔ)
 ɹɹϑΟʔϧυɺݕࡧɺϢʔβʔ؅ཧ...etc –

    4ສݸҎ্ͷެ։Ϟδϡʔϧ – ʮσΟετϦϏϡʔγϣϯʯ
 ...ಛఆͷϢʔεέʔεʢECαΠτͳͲʣ ʹಛԽͯ͠
 ඞཁͳϞδϡʔϧ΍ઃఆΛ·ͱΊͨ΋ͷ
  17. Drupalͷ͕͍͜͜͢͝ʂ ✓ ؆୯ͳϒϩάαΠτ͔Βେن໛΢ΣϒγεςϜ·Ͱ
 Χόʔ͢Δ֦ுੑߴ͍ϓϥοτϑΥʔϜ ✓ ίʔσΟϯά͠ͳͯ͘΋ଟ͘ͷ͜ͱ͕࣮ݱͰ͖Δ ✓ ৗʹਐԽ͠ଓ͚͍ͯΔ

  18. ଍Γͳ͍ػೳ͚ͩίʔσΟϯά 1. GUIͰαΠτߏங
 ଍Γͳ͍ػೳ͕͋Δʁ → No
 ↓ Yes 2. Drupal.org

    Ͱެ։͞Ε͍ͯΔ
 ϞδϡʔϧΛ୳͢ 4ສݸҎ্!
 ଍Γͳ͍ػೳ͕͋Δʁ → No
 ↓ Yes 3. ϞδϡʔϧΛࣗ࡞ ͢Ͱʹ͋Δ΋ͷΛ׆༻͠εϐʔσΟʔʹߏங DrupalΤίγεςϜΛ
 ϑϧ׆༻&อकੑ޲্
  19. DrupalͷίʔσΟϯά Symfonyͷ࠾༻ʹΑΓϞμϯͳPHP࣮૷͕Մೳʹ ʢDrupal 8ʙʣ - OOPʢΦϒδΣΫτࢦ޲ϓϩάϥϛϯάʣ - ϓϥάΠϯγεςϜ - αʔϏείϯςφʔ

    - TwigςϯϓϨʔτ - Drupal Console - YML - ...etc
  20. Drupalͷ͕͍͜͜͢͝ʂ ✓ ؆୯ͳϒϩάαΠτ͔Βେن໛΢ΣϒγεςϜ·Ͱ
 Χόʔ͢Δ֦ுੑߴ͍ϓϥοτϑΥʔϜ ✓ ίʔσΟϯά͠ͳͯ͘΋ଟ͘ͷ͜ͱ͕࣮ݱͰ͖Δ ✓ ৗʹਐԽ͠ଓ͚͍ͯΔ

  21. Drupalͷྺ࢙

  22. Drupal 7 -> 8 ௧Έͷ൐͏Ξοϓσʔτ ΞʔΩςΫνϟΛ࡮৽͓͔ͨ͛͠Ͱɾɾ - Drupal 8Ͱଟ͘ͷػೳΛϦϦʔε -

    ϨΠΞ΢τϏϧμʔʗϝσΟΞ؅ཧʗComposerʗJSON:API
 ʗߏ੒؅ཧʗঝೝϫʔΫϑϩʔʗ...etc - 2015೥11݄ - Symfonyͷ࠾༻
 → ΄΅׬શͳ࡞Γ௚͠ - ·ͩDrupal 7͔Β৐Γ׵͑ΒΕͳ͍
  23. None
  24. 2020೥6݄ Drupal 9 ϦϦʔεʂ 4.5೥ͿΓͷϝδϟʔόʔδϣϯ

  25. 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೥Ͱ࠷΋؆୯ͳΞοϓάϨʔυ
  26. Drupalͷ͜Ε͔ΒʢҰ෦ൈਮʣ – ϒϥ΢β͚ͩͰ͸ͳ͍ɺνϟοτϘοτ΍εϚϗΞϓϦͳͲ
 Ϛϧννϟωϧ഑৴ΛՄೳʹ͢ΔίϯςϯπϦϙδτϦ – JavaScriptϑϨʔϜϫʔΫ΁ͷରԠ
 → ϔουϨεCMS ࠷ߴͷߏ଄ԽσʔλΤϯδϯΛ໨ࢦ͢

  27. Drupalͷ͜Ε͔Βᶄ Drupal 10 ʹ޲͚ͯͷऔΓ૊Έ͕ൃද - 2022೥6݄ϦϦʔε༧ఆ - 5ͭͷΠχγΞνϒ - Drupal

    10ͷ४උ - ͙͢ʹ࢖͑Δ؆୯ͳΤΫεϖϦΤϯε - ৽͍͠ϑϩϯτΤϯυςʔϚʢOliveroʣ - ηΩϡϦςΟϦϦʔεͷࣗಈߋ৽ - JSϝχϡʔίϯϙʔωϯτ https://dri.es/state-of-drupal-presentation-july-2020
  28. ΞδΣϯμ 1. ΦʔϓϯιʔεCMS Drupalͱ͸ 2.Drupalͷ͕͍͜͜͢͝ʂ 3.DrupalͰ։ൃΛ࢝ΊΔ

  29. Drupal Ͱ։ൃΛ࢝ΊΑ͏ ✓ DrupalͷΠϯετʔϧ ✓ αΠτߏங ✓ ςʔϚ։ൃ ✓ Ϟδϡʔϧ։ൃ

  30. CodeZineͰઈࢍ࿈ࡌத Drupal 9 Ͱ࢝ΊΔ
 WebαΠτ։ൃೖ໳ ΑΖ͓͘͠ئ͍͠·͢ʂ Drupal CodeZine ଓ͖͸ɾɾɾɾ

  31. ઈࢍࣥචதʂ

  32. ·ͱΊ ✓ Drupal͸খن໛αΠτ͔Βେن໛αΠτ·Ͱ
 ରԠՄೳͳߴػೳCMS ✓ DrupalͷΤίγεςϜΛϑϧ׆༻ͯ͠
 ޮ཰Α͘γεςϜΛߏஙͰ͖Δʂ ✓ 2001೥͔Βଘࡏ͢Δݹ͍CMS͕ͩ
 σδλϧମݧΛఏڙ͢ΔͨΊͷϓϥοτϑΥʔϜ


    ͱͯ͠ࠓ΋ਐԽ͠ଓ͚͍ͯΔʂ
  33. άϩʔόϧ Ϗδϣϯɿ
 ”ੈք࠷ߴͷσδλϧମݧΛ૑଄͢ΔΫϥ΢υϓϥοτϑΥʔϜΛఏ ڙ” ຊࣾɿถࠃϘετϯ ૑ۀɿ2007೥ ΦʔϓϯιʔεCMSͷDrupalΛ։ൃͨ͠ɺ Dries Buytaert͕૑ۀ ೔ຊΛؚΉ8Χࠃ

    15ڌ఺ɺࣾһɿ1,000໊ ސ٬ɿ4,000ࣾɺύʔτφʔɿ800ࣾ ձࣾ֓ཁ ©2019 Acquia Inc. — Confidential and Proprietary 33 ೔ຊ๏ਓ ॴࡏ஍ɿ౦ژ౎ौ୩۠ौ୩2-24-12
 ौ୩εΫϥϯϒϧεΫΤΞWeWork 39F ઃཱɿ2018೥10݄ ಋೖ࣮੷ɿେखॏ޻ۀϝʔΧʔɺΞύϨϧϝʔ Χʔɺେख੡ༀձࣾ ΞΫΠΞࣾʹ͍ͭͯ
  34. None