$30 off During Our Annual Pro Sale. View Details »

Re:Buildでのローコード開発の取り組み

 Re:Buildでのローコード開発の取り組み

株式会社Re:Buildでは数年間、受託開発を行なってきました。
その中で取り組んだローコード開発の話をします。

Takayuki
PRO

August 24, 2022
Tweet

More Decks by Takayuki

Other Decks in Programming

Transcript

  1. R e : B u i l d
    で
    ͷ ϩ ʔ ί ʔ
    ド
    ։ ൃ ͷ औ Γ ૊ Έ
    ླ ໦ ޹ ೭
    P H P Χ ϯ ϑ Ν Ϩ ϯ ε ԭ ೄ 2 0 2 2

    View Slide

  2. ࣗݾ঺հɾձࣾ঺հ
    ϩʔίʔυ։ൃͱ͸ʁ
    গͳ͍޻਺ͰϝοηʔδػೳΛߏங͢Δ
    ΞδΣϯμ

    View Slide

  3. ୅ ද औ క ໾ ླ ໦ ޹ ೭
    3
    P R O F I L E
    ʮ ԭ ೄ ͷ ՝ ୊ Λ ղ ܾ ͠ ɺ ࿑ ಇ ؀ ڥ Λ ʮ ࠶ ߏ ங ʹ Ϧ Ϗ ϧ υ ʯ ͢ Δ ʯ
    גࣜձࣾϑϧεϐʔυʹwebΤϯδχΞͱͯ͠ೖࣾɻϑϧεϐʔυͰ͸ɺେن໛ͳ޿ࠂ഑৴αʔ
    Ϗεͷ؅ཧը໘։ൃΛ୲౰͠ɺαʔόαΠυ͔ΒϑϩϯτΤϯυ·Ͱ෯޿͍։ൃʹैࣄɻϑ
    ϦʔϥϯεΤϯδχΞͱͯ͠1೥΄Ͳ׆ಈޙɺ2017೥11݄ʹԭೄͰىۀ͠ɺגࣜձࣾRe:Build
    Λઃཱɻ౦ژͱԭೄͷاۀ༷͔Βͷडୗ։ൃҊ݅Λ੥͚ɺෳ਺ϓϩδΣΫτͷϓϩδΣΫτϚ
    ωʔδϟʔΛܦݧɻࣗࣾαʔϏεʮTadoruʯͰ͸ϓϩμΫτϚωʔδϟʔͱ্ཱ͔ͯͪ͛͠
    Βɺγʔυͷࢿۚௐୡ·ͰΛܦݧɻ

    View Slide

  4. ୅ ද ླ ໦ ͷ
    Π ϕ ϯ τ
    ొ ஃ ࣮ ੷
    ʮ
    ʯ
    4
    PHPerKaigi 2020
    ϑϩϯτΤϯυ ΧϯϑΝϨϯεؔ੢
    Laravel Meetup ୆࿷

    View Slide

  5. ձ໊ࣾ גࣜձࣾRe:Build
    ୅දऀ ླ໦޹೭
    ઃཱ ฏ੒29೥11݄28೔
    ࣄۀ಺༰
    ࣗࣾαʔϏε։ൃɾӡӦɺWebγεςϜ։ൃɺΤϯδ
    χΞڭҭɺσβΠϯ੍࡞
    ࢿຊۚ 2,600ສԁ
    ॴࡏ஍ ˟900-0015 ԭೄݝಹ೼ࢢٱໜ஍2-2-2 λΠϜεϏϧ
    ి࿩൪߸ 050-5408-4501
    ैۀһ਺ ໊̍̎
    ձ ࣾ ֓ ཁ
    5

    View Slide

  6. 3F#VJMEʹ͍ͭͯ ࣄۀ಺༰
    Re:Build Boot Camp͸ɺԭೄ΍ٶ࡚ͳͲͷ஍ํΛڌ
    ఺ͱ࣮ͨ͠຿ϨϕϧΛ໨ࢦ͢ϓϩάϥϛϯάεΫʔ
    ϧͰ͢ɻ3ϲ݄ؒͰɺʮ࣮຿ϨϕϧʯʹඞཁͳʮώΞ
    ϦϯάεΩϧʯʮ࠷௿ݶͷٕज़ྗʯʮࣗݾεέδϡ
    ʔϧ؅ཧʯͷ3ͭͷεΩϧΛ਎ʹ෇͚ΒΕΔΧϦΩϡ
    ϥϜΛ༻ҙ͍ͯ͠·͢ɻ
    ஍ํಛԽܕͷελʔτΞοϓελδΦͰ͢ɻ ʮ৽͠
    ͍ϏδωεͷΞΠσΞ͕͋ͬͯ΋ɺΤϯδχΞ΍σ
    βΠφʔ͕͓ΒͣɺܗʹͰ͖ͳ͍ʯͳͲͷ஍ํاۀ
    ༷Λखॿ͚͠·͢ɻ·ͨɺҊ݅ͷ૬ஊ૭ޱͱͳΔ͜
    ͱͰɺ஍ํʹ࢓ࣄΛੜΈग़͖͔͚ͬ͢Λ࡞Γ͍ͨͱ
    ࢥ͍ͬͯ·͢ɻ
    ΤϯδχΞͷҝͷΤϯδχΞʹΑΔ࢓ࣄ঺հαʔϏ
    εTadoru͸ΤϯδχΞಉ࢜Ͱ࢓ࣄΛγΣΞ͢Δɺ
    ΤϯδχΞൃͷηϛΫϩʔζͳίϛϡχςΟͰ͢ɻ
    ελʔτΞοϓελδΦࣄۀ 8FCΤϯδχΞڭҭࣄۀ ࣗࣾαʔϏε5BEPSVͷ
    ӡӦɾ։ൃ

    View Slide

  7. P R O J E C T
    7
    ड ୗ ։ ൃ ͷ ਐ Ί ํ ( ϥ Ϙ ܕ ։ ൃ )
    ݟੵॻ࡞੒
    ϢʔβʔετʔϦʔɾ


    σβΠϯͷ࡞੒
    ։ൃ ϦϦʔε
    ൃ஫ݕ౼
    ݟੵॻͷ֬ೝ
    ϨϏϡʔ
    ϨϏϡʔͷґཔ
    ϨϏϡʔ
    ϨϏϡʔͷґཔ
    ൃ஫
    Rebuild
    ΫϥΠΞϯτ
    ཁ݅ఆٛɾώΞϦϯά
    ݄΍ि͝ͱʹ͜ͷεϓϦϯτΛ܁Γฦ͢
    ϨϏϡʔࢦఠ ׬ྃ

    View Slide

  8. ʮ
    ʯ
    ։ ൃ ࣮ ੷ ৄ ࡉ
    8
    ϩ ʔ ί ʔ υ ։ ൃ ͱ ͸
    ϩʔίʔυ։ൃ (Low code development) ͱ͸ɺՄ
    ೳͳݶΓϓϩάϥϛϯά࡞ۀΛݮΒ͠ɺϚ΢εૢ
    ࡞ͳͲͰ༻ҙ͞Εͨ෦඼Λ૊Έ߹ΘͤͯΞϓϦΛ
    ։ൃ͢Δख๏Ͱ͢ɻ
    Ҿ༻ɿUdemy
    https://udemy.benesse.co.jp/development/system/
    what-is-lowcode.html
    ਤ ɿ ϩ ʔ ί ʔ υ ։ ൃ ͱ ϊ ʔ ί ʔ υ ։ ൃ ɺ
    ै དྷ ͷ ։ ൃ ͱ ͷ ҧ ͍

    View Slide

  9. 9
    ͜ Μ ͳ ՝ ୊ ͋ Γ · ͤ Μ ͔ ʁ
    ॳظϦϦʔεͰϝοηʔδػೳΛೖ
    Ε͍͚ͨͲɺ։ൃʹ͕͔͔࣌ؒΔ
    ޻਺Λ͔͚ͯϝοηʔδػೳΛ࡞ͬ
    ͕ͨɺػೳ਺͕গͳ͍͠ɺΫΦϦ
    ςΟ΋௿͍

    View Slide

  10. ࣗࣾαʔϏε։ൃΛ͢ΔதͰࢿۚௐୡ·Ͱʹβ൛Ϩϕ
    ϧͷϓϩμΫτΛϦϦʔε͢Δඞཁ͕͋Γ·ͨ͠ɻ
    ͚ΕͲɺϝοηʔδػೳͷ։ൃʹࢥͬͨΑΓ΋͕࣌ؒ
    ͔͔ͬͯ͠·͍ɺ౰ॳɺ2019೥3݄຤ʹϦϦʔε༧ఆ
    Ͱ͕ͨ͠ɺ6݄ࠒ·Ͱ௕Ҿ͍ͯ͠·͍·ͨ͠ɻ
    ͳͷͰɺελʔτΞοϓاۀ͕ϝΠϯػೳͷ։ൃʹઐ
    ೦Ͱ͖ɺॳظϦϦʔεͷ։ൃίετΛ཈͑ΒΕΔΑ͏
    ͳϓϩμΫτΛఏڙ͍ͨ͠ͱࢥ͍·ͨ͠ɻ
    ࣗ෼ͷମݧஊ
    αʔϏεͷϝΠϯػೳʹઐ೦ͯ͠
    ։ൃͰ͖ͳ͔ͬͨ

    View Slide

  11. 11
    ߟ ͑ ͨ α ʔ Ϗ ε ಺ ༰
    ϝοηʔδ
    UIΩοτ
    (ΞϓϦ)
    API/SDK
    αʔόʔ
    ϔουϨεϝοηʔδ


    গͳ͍޻਺ͰϝοηʔδػೳΛߏஙͰ͖ΔϩʔίʔυπʔϧͰ͢ɻ

    View Slide

  12. 12
    Ϣ ʔ ε έ ʔ ε ͷ Π ϝ ʔ δ
    EC ϥΠϒ഑৴ SNS
    ΦϯϥΠϯ
    εΫʔϧ
    σϦόϦʔ
    Ϛονϯά
    ΞϓϦ

    View Slide

  13. 13
    α ʔ Ϗ ε ಺ ༰
    ϝοηʔδૹ৴
    UIΩοτ(ΞϓϦ)
    ͷఏڙ
    API/SDKͷఏڙ
    αʔόʔͷఏڙ
    ޻਺୹ॖ
    Πϯϑϥߏங͕ෆཁ
    όοΫΤϯυͷ࣮૷
    ίετܰݮ
    ఏڙ͢Δػೳ ಘΒΕΔޮՌ
    ϚονϯάΞϓϦ

    View Slide

  14. 14
    ࠓ ޙ ఏ ڙ ༧ ఆ ͷ ϝ ο η ʔ δ ͷ ػ ೳ
    ը૾ૹ৴
    ಈըૹ৴
    ϑΝΠϧૹ৴
    ϝοηʔδ຋༁
    Push௨஌
    ϝʔϧ௨஌
    SMS௨஌
    ϥΠϒ഑৴
    Ի੠௨࿩
    ϏσΦ௨࿩
    Ξϯέʔτ
    Webhook

    View Slide

  15. શମͷॲཧΠϝʔδ

    View Slide

  16. ಋೖεςοϓ

    View Slide

  17. ಋೖεςοϓ
    STEP1
    STEP2
    STEP3

    View Slide

  18. ݸਓ։ൃ͍ͯ͠ΔαʔϏε

    View Slide

  19. Demo
    ϝϯλʔϚονϯά

    View Slide

  20. Demo
    ϝοηʔδը໘

    View Slide

  21. 21
    ಋ ೖ ํ ๏
    STEP1 ؅ཧը໘ͰαʔϏε৘ใΛొ࿥ͯ͠ɺAPIτʔΫϯͱΫϥΠΞϯτIDΛ
    औಘ͠·͢ɻ

    View Slide

  22. 22
    ಋ ೖ ํ ๏
    STEP2 ࣗ෼ͷΞϓϦͷAPI(Laravel)ଆʹAPIτʔΫϯɺΫϥΠΞϯτIDͷઃఆΛ
    .envʹ͠·͢ɻjwtΛฦ٫͢ΔϩδοΫΛॻ͖·͢ɻ

    View Slide

  23. 23
    ಋ ೖ ํ ๏
    STEP3 ϑϩϯτΤϯυଆͰόοΫΤϯυͷ API Ͱ jwt Λੜ੒͠ API ܦ༝Ͱड͚औͬ
    ͯɺSDKͷηοτΞοϓΛ͠·͢ɻ

    View Slide

  24. 24
    S D K ͷ ࢖ ༻ ํ ๏ ͷ ྫ
    CreateChannel(νϟϯωϧ࡞੒)
    νϟϯωϧ໊ͱνϟϯωϧʹॴଐ͢ΔϝϯόʔΛύϥϝʔλʹઃఆͯ͠ϦΫΤετ͢Δ͜ͱͰνϟϯωϧΛ࡞੒Ͱ
    ͖·͢ɻ
    SDKͰͷfunction࣮ߦ
    Ϩεϙϯεͷྫ

    View Slide

  25. 25
    · ͱ Ί
    ɾগͳ͍޻਺ͰϝοηʔδػೳΛߏஙͰ͖Δɻ
    ɾಋೖ͢Δ͜ͱͰαʔϏεͷϝΠϯػೳͷ։ൃʹूதͰ͖Δɻ
    ɾ͜Ε͔ΒϦϦʔε༧ఆͳͷͰɺڵຯ͋Ε͹࢖ͬͯΈ͍ͯͩ͘͞ʂ

    View Slide

  26. Ұॹʹಇ͍ͯ͘ΕΔ஥ؒΛืूͯ͠·͢ʂʂ

    View Slide

  27. ࢲͨͪ͸ελʔτΞοϓاۀͷ
    ॳظϓϩμΫτ։ൃΛಘҙͱ͍ͯ͠·͢ɻ

    View Slide