MVP(์ตœ์†Œ ์‹คํ–‰ ๊ฐ€๋Šฅ ์ œํ’ˆ) ๊ฐœ๋ฐœ์˜ ๋งฅ๋ฝ์—์„œ "MVP ๊ฐ€์ •"์ด๋ผ๋Š” ์šฉ์–ด๋Š” ๊ฐœ๋ฐœ ํŒ€์ด ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„์„ ์•ˆ๋‚ดํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ์— ๋งŒ๋“œ๋Š” ์ผ๋ จ์˜ ๊ฐ€์„ค, ์กฐ๊ฑด ๋ฐ ์ œ์•ฝ ์กฐ๊ฑด์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. . ์ด๋Ÿฌํ•œ ๊ฐ€์ •์€ ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์˜ ๊ธฐ๋ณธ ์›์น™๊ณผ ๊ฐ€์น˜๋ฅผ ๋ช…ํ™•ํžˆ ์„ค๋ช…ํ•˜์—ฌ ์ œํ’ˆ์˜ ์ •์ฒด์„ฑ์„ ํ˜•์„ฑํ•˜๊ณ  ์›ํ•˜๋Š” ๊ธฐ๋Šฅ๊ณผ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

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

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

์‹œ๊ฐ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ๊ธฐ๋Šฅ, ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค(BP) ๋””์ž์ด๋„ˆ, REST API ์ง€์› ๋ฐ WebSocket ์„œ๋ฒ„(WSS) endpoints ์™€ ๊ฐ™์€ AppMaster ์˜ ๊ณ ์œ ํ•œ ๊ธฐ๋Šฅ์€ MVP ๊ฐ€์ •์˜ ๊ตฌํ˜„ ๋ฐ ๊ฒ€์ฆ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ๊ทœ์ œ๊ฐ€ ์—„๊ฒฉํ•˜๊ณ  ๊นŒ๋‹ค๋กœ์šด ํ™˜๊ฒฝ์—์„œ๋„ ๊ธฐ๋Šฅ์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ œํ’ˆ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

MVP ๊ฐ€์ •์˜ ๋˜ ๋‹ค๋ฅธ ์ค‘์š”ํ•œ ์ธก๋ฉด์€ ๊ธฐ์ˆ  ํ™˜๊ฒฝ๊ณผ ๊ทธ๊ฒƒ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์˜ฌ๋ฐ”๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด, ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ ํ˜ธ์ŠคํŒ… ์†”๋ฃจ์…˜์„ ์„ ํƒํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ, ํ™•์žฅ์„ฑ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ์„ฑ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์™€ ๊ด€๋ จํ•˜์—ฌ AppMaster ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ Go(Golang), Vue3 ํ”„๋ ˆ์ž„์›Œํฌ, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ JavaScript/TypeScript, Android์šฉ Kotlin ๋ฐ Jetpack Compose, iOS์šฉ SwiftUI ์™€ ๊ฐ™์€ ์ตœ์ฒจ๋‹จ ๋„๊ตฌ์™€ ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•˜์—ฌ ๊ฐ•๋ ฅํ•˜๊ณ  ๋ฏธ๋ž˜ ์ง€ํ–ฅ์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. - ์ฆ๊ฑฐ ์ œํ’ˆ.

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

MVP ๊ฐ€์ •์—๋Š” ํŠนํžˆ ์†Œํ”„ํŠธ์›จ์–ด ์†”๋ฃจ์…˜์ด ๋ฏผ๊ฐํ•œ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ๊ทœ์ œ๊ฐ€ ์‹ฌํ•œ ์‚ฐ์—…์—์„œ ์šด์˜๋˜๋Š” ๊ฒฝ์šฐ ๋ฒ•์  ์ œ์•ฝ ๋ฐ ๋ฐ์ดํ„ฐ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๊ทœ์ •๊ณผ ๊ด€๋ จ๋œ ๊ณ ๋ ค ์‚ฌํ•ญ๋„ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ๊ฐœ๋ฐœ์ž๋Š” ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์ฑ„ํƒํ•˜๊ณ  ๊ด€๋ จ ์ง€์นจ์„ ๋”ฐ๋ผ ๊ด€๋ จ ๋ฒ•๋ฅ ์„ ์ค€์ˆ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

MVP ๊ฐ€์ •์€ ๊ณ ์ •๋œ ๊ฒƒ์ด ์•„๋‹ˆ๋ฉฐ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ง„ํ–‰๋˜๊ณ  ์ƒˆ๋กœ์šด ์ •๋ณด๊ฐ€ ์ œ๊ณต๋จ์— ๋”ฐ๋ผ ์ง€์†์ ์œผ๋กœ ๊ฐœ์„ ๋˜๊ณ  ์ˆ˜์ •๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. Swagger(OpenAPI) ๋ฌธ์„œ ์ž๋™ ์ƒ์„ฑ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์Šคํฌ๋ฆฝํŠธ์™€ ๊ฐ™์€ AppMaster ์˜ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๊ฐœ๋ฐœ ํŒ€์€ MVP ๊ฐ€์ •์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๊ณ  ์ „์ฒด ์ œํ’ˆ ํ’ˆ์งˆ ๋ฐ ์„ฑ๋Šฅ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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