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 ํ๋ซํผ์ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ์ ๊ฑฐํ๊ณ ๊ฐ๋ฐ ์๋์ ๋น์ฉ ํจ์จ์ฑ์ ๋์ด๋ฉด์ ์๊ธฐ์ ์์ ๋๊ธฐ์ ์ ์ด๋ฅด๊ธฐ๊น์ง ๊ด๋ฒ์ํ ์ฌ์ฉ ์ฌ๋ก์ ์ฐ์ ์ ์ง์ํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.