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

MVP์—์„œ ๋ชจ๋ธ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ ๊ณ„์ธต์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋…ผ๋ฆฌ, ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ๋ฐ ์Šคํ† ๋ฆฌ์ง€ ์ž‘์—… ์ฒ˜๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ํ•ต์‹ฌ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ, ๋ฐ์ดํ„ฐ ์กฐ์ž‘์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ทœ์น™, ๋ฐ์ดํ„ฐ ์ฟผ๋ฆฌ ๋ฐ ์ง€์† ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์บก์Аํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ์€ ๋˜ํ•œ ๋ชจ๋ธ ๋‚ด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฐœํ‘œ์ž์—๊ฒŒ ์•Œ๋ ค ์ „์ฒด ์‹œ์Šคํ…œ์ด ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€๋˜๊ณ  ๋™๊ธฐํ™”๋˜๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด AppMaster ์—์„œ ๊ณ ๊ฐ์€ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ)์„ ์‹œ๊ฐ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  Go (Golang) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค์˜ ํ˜•ํƒœ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด View๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์™€ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ํ‘œ์‹œ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋ฐ์ดํ„ฐ ํ‘œ์‹œ, ์‚ฌ์šฉ์ž ์ž…๋ ฅ ์บก์ฒ˜ ๋ฐ ์‚ฌ์šฉ์ž ์ƒํ˜ธ ์ž‘์šฉ์— ๋Œ€ํ•œ ๋ฐ˜์‘๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด๊ธฐ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•จ์œผ๋กœ์จ ์‚ฌ์šฉ์ž๋Š” ํŠน์ • ์ •๋ณด์— ๋Œ€ํ•œ ์‹œ์Šคํ…œ ์ฟผ๋ฆฌ, ๊ธฐ์กด ๋ฐ์ดํ„ฐ ์ˆ˜์ • ๋˜๋Š” ์ˆ˜ํ–‰ํ•  ํŠน์ • ์ž‘์—… ํŠธ๋ฆฌ๊ฑฐ์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ Œ๋”๋ง ๋ณต์žก์„ฑ๊ณผ ์‚ฌ์šฉ์ž ์ƒํ˜ธ ์ž‘์šฉ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์€ View์˜ ์ฑ…์ž„์ด์ง€๋งŒ ๋ฐ์ดํ„ฐ ๋˜๋Š” ๊ธฐ๋ณธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋…ผ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•  ์ฑ…์ž„์€ ์—†์Šต๋‹ˆ๋‹ค. AppMaster ์˜ ๋งฅ๋ฝ์—์„œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Vue3 ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋˜๊ณ  ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Android์šฉ Kotlin ๋ฐ Jetpack Compose ์™€ iOS์šฉ SwiftUI ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์„œ๋ฒ„ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

ํ”„๋ฆฌ์  ํ„ฐ๋Š” ๋ชจ๋ธ๊ณผ ๋ทฐ ์‚ฌ์ด์˜ ์ค‘๊ฐœ์ž ์—ญํ• ์„ ํ•˜์—ฌ ์ƒํ˜ธ ์ž‘์šฉ์„ ์กฐ์œจํ•˜๊ณ  ์กฐํ™”๋กญ๊ฒŒ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ž…๋ ฅ ์ฒ˜๋ฆฌ, ๋ชจ๋ธ์˜ ๋ฐ์ดํ„ฐ ์กฐ์ž‘, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๋ฐ˜์˜ํ•˜๋„๋ก ๋ณด๊ธฐ ์—…๋ฐ์ดํŠธ๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. Presenter๋Š” ๋˜ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋™์ž‘์„ ์ œ์–ดํ•˜๊ณ  ๋ชจ๋ธ๊ณผ ๋ทฐ๊ฐ€ ๋™๊ธฐํ™”๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋„๋ก ํ•˜๋Š” ๋ชจ๋“  ๋น„์ฆˆ๋‹ˆ์Šค ๊ทœ์น™์„ ์‹œํ–‰ํ•ฉ๋‹ˆ๋‹ค. AppMaster ํ”Œ๋žซํผ์—์„œ ๊ณ ๊ฐ์€ Web BP(๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค) ๋””์ž์ด๋„ˆ์—์„œ ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์™„์ „ํžˆ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ธฐ์—…์€ ๋ณธ์งˆ์ ์œผ๋กœ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ ๋น„์ €์žฅ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ AppMaster์—์„œ ์ƒ์„ฑํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํด๋ผ์šฐ๋“œ์— ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋Š” MVP ๋””์ž์ธ ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณต์žก์„ฑ์„ ๋” ์ž˜ ๊ด€๋ฆฌํ•˜๊ณ  ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ๋ชจ๋“ˆ์‹์œผ๋กœ ์œ ์ง€ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ์‹œ์Šคํ…œ์˜ ์ผ๋ถ€๋ฅผ ์‰ฝ๊ฒŒ ๊ต์ฒดํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŠน์„ฑ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‹ค๋ฅธ ํ”Œ๋žซํผ์ด๋‚˜ ํ™˜๊ฒฝ์— ์ ์‘ํ•ด์•ผ ํ•  ๋•Œ ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ํ”Œ๋žซํผ๋ณ„ View ๊ตฌ์„ฑ ์š”์†Œ๋งŒ ๊ตฌํ˜„ํ•˜๋ฉด ๋˜๋ฉด์„œ Model ๋ฐ Presenter ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

MVP ํŒจํ„ด์€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ํšจ์œจ์ ์ด๊ณ  ํšจ๊ณผ์ ์ธ ํ…Œ์ŠคํŠธ๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. Model ๋ฐ Presenter ๊ตฌ์„ฑ ์š”์†Œ๋Š” ํŠน์ • ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์— ์˜์กดํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ณต์žกํ•œ UI ์ƒํ˜ธ ์ž‘์šฉ์ด๋‚˜ ๋ชฉ์—… ์—†์ด๋„ ๋ณ„๋„๋กœ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฒ„๊ทธ๋ฅผ ์ •ํ™•ํžˆ ์ฐพ์•„ ์ˆ˜์ •ํ•˜๊ณ , ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ , ์†Œํ”„ํŠธ์›จ์–ด์˜ ์ „๋ฐ˜์ ์ธ ํ’ˆ์งˆ๊ณผ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

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