์‚ฌ์šฉ์ž ์ •์˜ ๊ธฐ๋Šฅ์˜ ๋งฅ๋ฝ์—์„œ HOC(๊ณ ์ฐจ ๊ตฌ์„ฑ ์š”์†Œ)๋Š” ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ ๋‚ด์— ๋ž˜ํ•‘ํ•˜์—ฌ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ ํ–ฅ์ƒ์‹œ์ผœ ๊ธฐ๋Šฅ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์„ ํ™•์žฅํ•˜๋Š” ๋””์ž์ธ ํŒจํ„ด์ž…๋‹ˆ๋‹ค. ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๊ธฐ๋ฐ˜์„ ๋‘” HOC๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ๊ตฌ์„ฑ ๋ฐ ๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ ์›์น™์„ ์ค€์ˆ˜ํ•˜์—ฌ ๋ณด๋‹ค ํšจ์œจ์ ์ด๊ณ  ๋ชจ๋“ˆ์‹์ด๋ฉฐ ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณ ์ฐจ ๊ตฌ์„ฑ์š”์†Œ๋Š” ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ณ ์ฐจ ํ•จ์ˆ˜์™€ ์œ ์‚ฌํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์•„๋“ค์ด๊ฑฐ๋‚˜ ์ƒˆ ํ•จ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ๋‘˜ ๋‹ค๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋น„์Šทํ•œ ๋งฅ๋ฝ์—์„œ HOC๋Š” ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„๋“ค์ด๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์ฒด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณด๋‹ค ์œ ์—ฐํ•˜๊ณ  ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ๋” ์‰ฌ์šด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๊ณ ์ฐจ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์˜ˆ๋Š” ์ธ๊ธฐ ์žˆ๋Š” React JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ด ๊ฐœ๋…์€ ๊ตฌ์„ฑ ์š”์†Œ์˜ ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋™์‹œ์— ์›๋ณธ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ณ  ์›ํ•˜๋Š” ์ถœ๋ ฅ์— ์ง‘์ค‘ํ•˜๋Š” ๋ฐ ๋„๋ฆฌ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด HOC๋Š” ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ์›๋ž˜ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ UI ๋ Œ๋”๋ง์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ ์ž…๋ ฅ ํ•„๋“œ์˜ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ, ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ๊ธ‰ no-code ํ”Œ๋žซํผ์ธ AppMaster ์—์„œ HOC๋Š” ๊ฐ„์†Œํ™”๋œ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. AppMaster ๊ฐœ๋ฐœ์ž๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ๊ธฐ๋Šฅ์—์„œ HOC๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“ˆ์‹ ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋Œ€์ฒด ์†”๋ฃจ์…˜๋ณด๋‹ค ๊ฐœ๋ฐœ ์†๋„๊ฐ€ 10๋ฐฐ ๋” ๋น ๋ฅด๊ณ  ๋น„์šฉ ํšจ์œจ์„ฑ์ด 3๋ฐฐ ๋” ๋†’์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•˜๋Š” ํ”Œ๋žซํผ์˜ ๊ธฐ๋Šฅ์— ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค. HOC์— ๋Œ€ํ•œ ์‹ฌ์ธต์ ์ธ ์ดํ•ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” AppMaster ์ƒํƒœ๊ณ„ ๋‚ด์—์„œ ๋” ๋‚˜์€ ์„ฑ๋Šฅ๊ณผ ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ๋” ์‰ฌ์šด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ๋ฐ˜ ์‚ฌ์šฉ์ž ์ง€์ • ๊ธฐ๋Šฅ ์˜์—ญ์—์„œ ๊ณ ์ฐจ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์—ฐ๊ฒฐ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…, ์‰ฝ๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” API ๊ตฌ์„ฑ ์š”์†Œ ๋˜๋Š” ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ๋ž˜ํ•‘ ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ฐ™์€ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ HOC๋Š” ๊นจ๋—ํ•˜๊ณ  ์œ ์ง€ ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ์™€ ๊ธฐ์ˆ  ๋ถ€์ฑ„ ์ œ๊ฑฐ์— ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.

AppMaster ํ”Œ๋žซํผ ๋‚ด์˜ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ ์ค‘ ํ•˜๋‚˜๋Š” ๊ฒ€์ƒ‰ ์ž…๋ ฅ ํ•„๋“œ๋ฅผ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์— ์—ฐ๊ฒฐํ•˜๋Š” ๊ณ ์ฐจ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. HOC๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋™์ ์œผ๋กœ ์ฟผ๋ฆฌํ•˜๋Š” ๋™์‹œ์— UI ๋ Œ๋”๋ง์„ ๋ž˜ํ•‘๋œ ๊ตฌ์„ฑ ์š”์†Œ์— ์œ„์ž„ํ•ฉ๋‹ˆ๋‹ค. ์ด HOC๋ฅผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์˜ ์—ฌ๋Ÿฌ ๊ฒ€์ƒ‰ ๊ตฌ์„ฑ ์š”์†Œ์— ์ ์šฉํ•จ์œผ๋กœ์จ ๊ฐœ๋ฐœ์ž๋Š” ์ด ๊ธฐ๋Šฅ์„ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์žฅ๊ธฐ์ ์œผ๋กœ ์ค‘๋ณต์„ฑ์ด ์ค„์–ด๋“ค๊ณ  ์œ ์ง€ ๊ด€๋ฆฌ์„ฑ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

HOC์— ๋Œ€ํ•œ AppMaster ์˜ ํ—Œ์‹ ์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฐ ๊ณ ๋ถ€ํ•˜ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์‹ค์ œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ํ”Œ๋žซํผ ์•„ํ‚คํ…์ฒ˜์—์„œ ๋ถ„๋ช…ํ•˜๊ฒŒ ๋“œ๋Ÿฌ๋‚ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ endpoints ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ Swagger(๊ฐœ๋ฐฉํ˜• API) ๋ฌธ์„œ์˜ ์ž๋™ ์ƒ์„ฑ์„ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ตœ์‹  ์ƒํƒœ๋กœ ๊ฐ„์†Œํ™”๋˜๊ณ  ์‚ฌ์šฉ์ž ์ •์˜ ๊ธฐ๋Šฅ ๋„๋ฉ”์ธ์—์„œ HOC์˜ ์ด์ ์„ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋ชจ๋ธ, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง, REST API ๋ฐ WSS ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค(BP) ๋””์ž์ด๋„ˆ์™€ ๊ฐ™์€ AppMaster ์˜ no-code ํ”Œ๋žซํผ ๊ธฐ๋Šฅ์€ ์‚ฌ์šฉ์ž ์ •์˜ ๊ธฐ๋Šฅ์—์„œ HOC์˜ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ๋ณด์™„ํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ๋œ ๋ชจ๋“  ์†Œ์Šค ์ฝ”๋“œ๋Š” ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ Go(Golang), ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ Vue3, ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ Jetpack Compose ๋˜๋Š” SwiftUI ๊ฐ€ ํฌํ•จ๋œ Kotlin๊ณผ ๊ฐ™์€ ์—…๊ณ„ ํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๊ฒฐ๊ณผ ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๊ณ ํ’ˆ์งˆ์ด๋ฉฐ ํ™•์žฅ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ, ๊ณ ์ฐจ ๊ตฌ์„ฑ์š”์†Œ๋Š” ํŠนํžˆ AppMaster ์™€ ๊ฐ™์€ no-code ํ”Œ๋žซํผ์˜ ๋งฅ๋ฝ์—์„œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ๊ธฐ๋Šฅ ์˜์—ญ์—์„œ ๊ท€์ค‘ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. HOC๋ฅผ ๊ธฐ๋ณธ ๋””์ž์ธ ํŒจํ„ด์œผ๋กœ ์ฑ„ํƒํ•จ์œผ๋กœ์จ ๊ฐœ๋ฐœ์ž๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ณ , ๋ชจ๋“ˆ์‹์ด๋ฉฐ, ์œ ์ง€ ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๊ถ๊ทน์ ์œผ๋กœ ๋” ๋น ๋ฅธ ๊ฐœ๋ฐœ๊ณผ ๋น„์šฉ ํšจ์œจ์ ์ธ ์†”๋ฃจ์…˜์œผ๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ณ„์† ๋ฐœ์ „ํ•˜๊ณ  ์„ฑ์žฅํ•จ์— ๋”ฐ๋ผ ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•˜๊ณ  ํšจ์œจ์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋ฐ ์žˆ์–ด HOC์˜ ํ•ต์‹ฌ ์—ญํ• ์€ ๊ทธ ์–ด๋А ๋•Œ๋ณด๋‹ค ์ค‘์š”ํ•ด์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.