株式会社Re:Buildでは数年間、受託開発を行なってきました。 その中で取り組んだローコード開発の話をします。
R e : B u i l dでͷ ϩ ʔ ί ʔド։ ൃ ͷ औ Γ Έླ ೭P H P Χ ϯ ϑ Ν Ϩ ϯ ε ԭ ೄ 2 0 2 2
View Slide
ࣗݾհɾձࣾհϩʔίʔυ։ൃͱʁগͳ͍ͰϝοηʔδػೳΛߏங͢ΔΞδΣϯμ
ද औ క ླ ೭3P R O F I L Eʮ ԭ ೄ ͷ ՝ Λ ղ ܾ ͠ ɺ ࿑ ಇ ڥ Λ ʮ ࠶ ߏ ங ʹ Ϧ Ϗ ϧ υ ʯ ͢ Δ ʯגࣜձࣾϑϧεϐʔυʹwebΤϯδχΞͱͯ͠ೖࣾɻϑϧεϐʔυͰɺେنͳࠂ৴αʔϏεͷཧը໘։ൃΛ୲͠ɺαʔόαΠυ͔ΒϑϩϯτΤϯυ·Ͱ෯͍։ൃʹैࣄɻϑϦʔϥϯεΤϯδχΞͱͯ͠1΄Ͳ׆ಈޙɺ201711݄ʹԭೄͰىۀ͠ɺגࣜձࣾRe:BuildΛઃཱɻ౦ژͱԭೄͷاۀ༷͔Βͷडୗ։ൃҊ݅Λ͚ɺෳϓϩδΣΫτͷϓϩδΣΫτϚωʔδϟʔΛܦݧɻࣗࣾαʔϏεʮTadoruʯͰϓϩμΫτϚωʔδϟʔͱ্ཱ͔ͯͪ͛͠Βɺγʔυͷࢿۚௐୡ·ͰΛܦݧɻ
ද ླ ͷΠ ϕ ϯ τొ ஃ ࣮ ʮʯ4PHPerKaigi 2020ϑϩϯτΤϯυ ΧϯϑΝϨϯεؔLaravel Meetup
ձ໊ࣾ גࣜձࣾRe:Buildදऀ ླ೭ઃཱ ฏ2911݄28ࣄۀ༰ࣗࣾαʔϏε։ൃɾӡӦɺWebγεςϜ։ൃɺΤϯδχΞڭҭɺσβΠϯ੍࡞ࢿຊۚ 2,600ສԁॴࡏ ˟900-0015 ԭೄݝಹࢢٱໜ2-2-2 λΠϜεϏϧి൪߸ 050-5408-4501ैۀһ ໊̍̎ձ ࣾ ֓ ཁ5
3F#VJMEʹ͍ͭͯ ࣄۀ༰Re:Build Boot Campɺԭೄٶ࡚ͳͲͷํΛڌͱ࣮ͨ͠ϨϕϧΛࢦ͢ϓϩάϥϛϯάεΫʔϧͰ͢ɻ3ϲ݄ؒͰɺʮ࣮ϨϕϧʯʹඞཁͳʮώΞϦϯάεΩϧʯʮ࠷ݶͷٕज़ྗʯʮࣗݾεέδϡʔϧཧʯͷ3ͭͷεΩϧΛʹ͚ΒΕΔΧϦΩϡϥϜΛ༻ҙ͍ͯ͠·͢ɻํಛԽܕͷελʔτΞοϓελδΦͰ͢ɻ ʮ৽͍͠ϏδωεͷΞΠσΞ͕͋ͬͯɺΤϯδχΞσβΠφʔ͕͓ΒͣɺܗʹͰ͖ͳ͍ʯͳͲͷํاۀ༷Λखॿ͚͠·͢ɻ·ͨɺҊ݅ͷ૬ஊ૭ޱͱͳΔ͜ͱͰɺํʹࣄΛੜΈग़͖͔͚ͬ͢Λ࡞Γ͍ͨͱࢥ͍ͬͯ·͢ɻΤϯδχΞͷҝͷΤϯδχΞʹΑΔࣄհαʔϏεTadoruΤϯδχΞಉ࢜ͰࣄΛγΣΞ͢ΔɺΤϯδχΞൃͷηϛΫϩʔζͳίϛϡχςΟͰ͢ɻελʔτΞοϓελδΦࣄۀ 8FCΤϯδχΞڭҭࣄۀ ࣗࣾαʔϏε5BEPSVͷӡӦɾ։ൃ
P R O J E C T7ड ୗ ։ ൃ ͷ ਐ Ί ํ ( ϥ Ϙ ܕ ։ ൃ )ݟੵॻ࡞ϢʔβʔετʔϦʔɾσβΠϯͷ࡞։ൃ ϦϦʔεൃݕ౼ݟੵॻͷ֬ೝϨϏϡʔϨϏϡʔͷґཔϨϏϡʔϨϏϡʔͷґཔൃRebuildΫϥΠΞϯτཁ݅ఆٛɾώΞϦϯά݄ि͝ͱʹ͜ͷεϓϦϯτΛ܁Γฦ͢ϨϏϡʔࢦఠ ྃ
ʮʯ։ ൃ ࣮ ৄ ࡉ8ϩ ʔ ί ʔ υ ։ ൃ ͱ ϩʔίʔυ։ൃ (Low code development) ͱɺՄೳͳݶΓϓϩάϥϛϯά࡞ۀΛݮΒ͠ɺϚεૢ࡞ͳͲͰ༻ҙ͞Εͨ෦ΛΈ߹ΘͤͯΞϓϦΛ։ൃ͢Δख๏Ͱ͢ɻҾ༻ɿUdemyhttps://udemy.benesse.co.jp/development/system/what-is-lowcode.htmlਤ ɿ ϩ ʔ ί ʔ υ ։ ൃ ͱ ϊ ʔ ί ʔ υ ։ ൃ ɺै དྷ ͷ ։ ൃ ͱ ͷ ҧ ͍
9͜ Μ ͳ ՝ ͋ Γ · ͤ Μ ͔ ʁॳظϦϦʔεͰϝοηʔδػೳΛೖΕ͍͚ͨͲɺ։ൃʹ͕͔͔࣌ؒΔΛ͔͚ͯϝοηʔδػೳΛ࡞͕ͬͨɺػೳ͕গͳ͍͠ɺΫΦϦςΟ͍
ࣗࣾαʔϏε։ൃΛ͢ΔதͰࢿۚௐୡ·Ͱʹβ൛ϨϕϧͷϓϩμΫτΛϦϦʔε͢Δඞཁ͕͋Γ·ͨ͠ɻ͚ΕͲɺϝοηʔδػೳͷ։ൃʹࢥͬͨΑΓ͕͔͔࣌ؒͬͯ͠·͍ɺॳɺ20193݄ʹϦϦʔε༧ఆͰ͕ͨ͠ɺ6݄ࠒ·ͰҾ͍ͯ͠·͍·ͨ͠ɻͳͷͰɺελʔτΞοϓاۀ͕ϝΠϯػೳͷ։ൃʹઐ೦Ͱ͖ɺॳظϦϦʔεͷ։ൃίετΛ͑ΒΕΔΑ͏ͳϓϩμΫτΛఏڙ͍ͨ͠ͱࢥ͍·ͨ͠ɻࣗͷମݧஊαʔϏεͷϝΠϯػೳʹઐ೦ͯ͠։ൃͰ͖ͳ͔ͬͨ
11ߟ ͑ ͨ α ʔ Ϗ ε ༰ϝοηʔδUIΩοτ(ΞϓϦ)API/SDKαʔόʔϔουϨεϝοηʔδগͳ͍ͰϝοηʔδػೳΛߏஙͰ͖ΔϩʔίʔυπʔϧͰ͢ɻ
12Ϣ ʔ ε έ ʔ ε ͷ Π ϝ ʔ δEC ϥΠϒ৴ SNSΦϯϥΠϯεΫʔϧσϦόϦʔϚονϯάΞϓϦ
13α ʔ Ϗ ε ༰ϝοηʔδૹ৴UIΩοτ(ΞϓϦ)ͷఏڙAPI/SDKͷఏڙαʔόʔͷఏڙॖΠϯϑϥߏங͕ෆཁόοΫΤϯυͷ࣮ίετܰݮఏڙ͢Δػೳ ಘΒΕΔޮՌϚονϯάΞϓϦ
14ࠓ ޙ ఏ ڙ ༧ ఆ ͷ ϝ ο η ʔ δ ͷ ػ ೳը૾ૹ৴ಈըૹ৴ϑΝΠϧૹ৴ϝοηʔδ༁Push௨ϝʔϧ௨SMS௨ϥΠϒ৴Ի௨ϏσΦ௨ΞϯέʔτWebhook
શମͷॲཧΠϝʔδ
ಋೖεςοϓ
ಋೖεςοϓSTEP1STEP2STEP3
ݸਓ։ൃ͍ͯ͠ΔαʔϏε
DemoϝϯλʔϚονϯά
Demoϝοηʔδը໘
21ಋ ೖ ํ ๏STEP1 ཧը໘ͰαʔϏεใΛొͯ͠ɺAPIτʔΫϯͱΫϥΠΞϯτIDΛऔಘ͠·͢ɻ
22ಋ ೖ ํ ๏STEP2 ࣗͷΞϓϦͷAPI(Laravel)ଆʹAPIτʔΫϯɺΫϥΠΞϯτIDͷઃఆΛ.envʹ͠·͢ɻjwtΛฦ٫͢ΔϩδοΫΛॻ͖·͢ɻ
23ಋ ೖ ํ ๏STEP3 ϑϩϯτΤϯυଆͰόοΫΤϯυͷ API Ͱ jwt Λੜ͠ API ܦ༝Ͱड͚औͬͯɺSDKͷηοτΞοϓΛ͠·͢ɻ
24S D K ͷ ༻ ํ ๏ ͷ ྫCreateChannel(νϟϯωϧ࡞)νϟϯωϧ໊ͱνϟϯωϧʹॴଐ͢ΔϝϯόʔΛύϥϝʔλʹઃఆͯ͠ϦΫΤετ͢Δ͜ͱͰνϟϯωϧΛ࡞Ͱ͖·͢ɻSDKͰͷfunction࣮ߦϨεϙϯεͷྫ
25· ͱ Ίɾগͳ͍ͰϝοηʔδػೳΛߏஙͰ͖Δɻɾಋೖ͢Δ͜ͱͰαʔϏεͷϝΠϯػೳͷ։ൃʹूதͰ͖Δɻɾ͜Ε͔ΒϦϦʔε༧ఆͳͷͰɺڵຯ͋ΕͬͯΈ͍ͯͩ͘͞ʂ
Ұॹʹಇ͍ͯ͘ΕΔؒΛืूͯ͠·͢ʂʂ
ࢲͨͪελʔτΞοϓاۀͷॳظϓϩμΫτ։ൃΛಘҙͱ͍ͯ͠·͢ɻ