MVC(Model-View-Controller)๋ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์์ ๋ฌธ์ ์ ๋ถ๋ฆฌ์ ๋ชจ๋์ ์ค๊ณ๋ฅผ ์ด์งํ๋ ์ํํธ์จ์ด ์์ง๋์ด๋ง์์ ์ ํ๋ฆฝ๋ ์ํคํ ์ฒ ํจํด์ ๋๋ค. ์ด ํจํด์ ๋ณต์กํ ๋๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์ ํนํ ์ ์ฉํ๋ฉฐ ํ๋ฐํธ์๋์ ํจ๊ป ๋ฐฑ์๋ ๊ฐ๋ฐ์ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. MVC ํจํด์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑ ์์๋ฅผ ์ธ ๊ฐ์ง ๊ณ ์ ํ ์ญํ (๋ชจ๋ธ, ๋ณด๊ธฐ ๋ฐ ์ปจํธ๋กค๋ฌ)๋ก ๋ถ๋ฅํ์ฌ ๊ฐ๋ ฅํ๊ณ ๋์ ์ธ ์์ฉ ํ๋ก๊ทธ๋จ์ ํ์ฑํ๊ธฐ ์ํด ๊ฒฐํฉ๋๋ ๋ ๋ฆฝ์ ์ธ ํ์ ์์คํ ์ด ์๋ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ ์ํํธ์จ์ด ์๋ฃจ์ ์ ์์ฑํ ์ ์๋๋ก ํฉ๋๋ค.
๋ชจ๋ธ ๊ตฌ์ฑ์์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๊ธฐ๋ณธ ๋น์ฆ๋์ค ๋ก์ง์ ๋ํ๋ด๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ดํฐ์ ๊ด๋ฆฌ ๋ฐ ์ ์ฅ์ ๋ด๋นํฉ๋๋ค. ์ฌ๊ธฐ์๋ CRUD ์์ (๋ง๋ค๊ธฐ, ์ฝ๊ธฐ, ์ ๋ฐ์ดํธ ๋ฐ ์ญ์ ) ์ํ, ์ ํจ์ฑ ๊ฒ์ฌ, ๋ฐ์ดํฐ ์กฐ์ ๋ฐ ๋ค์ํ ๊ณ์ฐ์ด ํฌํจ๋ฉ๋๋ค. AppMaster ์ ๋งฅ๋ฝ์์ ์ด๊ฒ์ ๋ฐฑ์๋ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ์ค์ํ ๋ถ๋ถ์ธ ๋ฐ์ดํฐ ๋ชจ๋ธ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์์ฑํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๋ณด๊ธฐ๋ ๋ชจ๋ธ์์ ์ ๊ณตํ๋ ๋ฐ์ดํฐ์ ์๊ฐ์ ํํ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ง๊ด์ ์ธ ๋ํํ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ฌ์ฉ์์๊ฒ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ์ผ์ ๋ด๋นํฉ๋๋ค. ๋ฐฑ์๋ ๊ฐ๋ฐ์์ ๋ทฐ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ๋๋ง๋ ํ์ด์ง ๋๋ ๊ตฌ์ฑ ์์์ผ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์ดํดํ๊ณ ํด์ํ๊ณ ์ํธ ์์ฉํ ์ ์๋๋ก ์ค๊ณ๋ ๋์๋ณด๋, ํ ์ด๋ธ, ์ฐจํธ, ์์ ๋ฐ ๊ธฐํ ์๊ฐ์ ์ผ๋ก ๋งค๋ ฅ์ ์ธ ์์๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. AppMaster ์ ๊ฐ์ no-code ํ๋ซํผ์์ ๊ณ ๊ฐ์ drag-and-drop ์ผ๋ก UI ๊ตฌ์ฑ ์์๋ฅผ ์์ฑํ์ฌ ์ํํ๊ณ ํจ์จ์ ์ธ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค.
์ปจํธ๋กค๋ฌ๋ ๋ชจ๋ธ๊ณผ ๋ทฐ ๊ฐ์ ํต์ ์ ์กฐ์ ํ๋ ์ค๊ฐ์ ์ญํ ์ ํฉ๋๋ค. ์ปจํธ๋กค๋ฌ๋ ์ฌ์ฉ์ ์ ๋ ฅ ์ฒ๋ฆฌ, ์์ฒญ ์ฒ๋ฆฌ, ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ ๋๋ ์ ํ์ด์ง ๋ ๋๋ง๊ณผ ๊ฐ์ Model ๋๋ View์ ์ ์ ํ ์์ ํธ๋ฆฌ๊ฑฐ๋ฅผ ๋ด๋นํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ํ๋ฆฌ์ ํ ์ด์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ช ํํ๊ฒ ๋ถ๋ฆฌํ์ฌ ๊ฐ ๊ตฌ์ฑ ์์๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ๋ฐ, ํ ์คํธ ๋ฐ ์ ์ง ๊ด๋ฆฌํ ์ ์์ต๋๋ค. AppMaster ์ปจํ ์คํธ์์ ์ปจํธ๋กค๋ฌ์ ์๋ ํ๋ฐํธ์๋์ ๋ฐฑ์๋ ๊ตฌ์ฑ ์์ ๊ฐ์ ํต์ ์ ์ฉ์ดํ๊ฒ ํ๋ REST API ๋๋ WSS endpoint ์ ๋๋ค.
ํต๊ณ์ ๊ด์ ์์ MVC ํจํด์ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ ํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ค๊ณ ๋ฐ ์ ์ง ๊ด๋ฆฌ์ ์์๋๋ ์๊ฐ๊ณผ ๋ฆฌ์์ค๋ฅผ ์ค์ด๋ ๋ฐ ์ ์ตํ ๊ฒ์ผ๋ก ์ ์ฆ๋์์ต๋๋ค. ํ๋๋ ์ค์ธ๋ฃจ ๋ํ์์ ์ค์ํ ์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด MVC ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ ๋ ๊ฐ๋ฐ ์๊ฐ์ด ํ๊ท 34.3% ๋จ์ถ๋์์ต๋๋ค. ๋ํ ๋ค๋ฅธ ์ฐ๊ตฌ์์๋ MVC ํจํด์ผ๋ก ์ธํด ํฅ์๋ ์ฝ๋ ๋ชจ๋์ฑ, ๋ณต์ก์ฑ ๊ฐ์ ๋ฐ ์ ์ง ๊ด๋ฆฌ ์ฉ์ด์ฑ์ ๋ณด์ฌ์ฃผ์์ต๋๋ค.
MVC ํจํด์ ์ฅ์ ์ ๊ณ ๋ คํ ๋ Ruby on Rails, Django, Laravel์ ํฌํจํ ์ต์ ์น ๊ฐ๋ฐ ํ๋ ์์ํฌ์ Angular, React ๋ฐ Vue.js ์ ๊ฐ์ ํ๋ฐํธ์๋ ํ๋ ์์ํฌ ์ฌ์ด์์ MVC ํจํด์ด ๋๋ฆฌ ์ฑํ๋ ๊ฒ์ ๋๋ผ์ด ์ผ์ด ์๋๋๋ค. ํนํ AppMaster ๋ณธ์ง์ ์ผ๋ก MVC ํจํด์ ์ง์ํ๊ณ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ฅ๋ คํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ฉ Vue3 ํ๋ ์์ํฌ๋ฅผ ํ์ฉํฉ๋๋ค.
AppMaster ์ no-code ํ๋ซํผ์ MVC ํจํด์ ์ด์ ์ ํ์ฉํ์ฌ ๊ณ ๊ฐ์ด ๊ฐ๋ ฅํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ๋ง๋ค ์ ์๋๋ก ํฉ๋๋ค. ์์ค ์ฝ๋ ์์ฑ, ์ ํ๋ฆฌ์ผ์ด์ ์ปดํ์ผ, ํ ์คํธ ๋ฐ ๋ฐฐํฌ ์ธ์๋ AppMaster ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๋ง์ด๊ทธ๋ ์ด์ ์คํฌ๋ฆฝํธ, API endpoints ์ ๋ํ ๋ฌธ์๋ฅผ swagger ์์ฑํ๊ณ ํ์ฅ์ฑ ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก AppMaster ํ๋ซํผ์ ๋ชจ๋ธ-๋ทฐ-์ปจํธ๋กค๋ฌ ํจํด์ ๊ธฐ๋ฅ๊ณผ ๊ฒฐํฉ๋ ๋ ๊ณ ๊ฐ์ด ๋น๊ตํ ์ ์๋ ํจ์จ์ฑ์ผ๋ก ๊ณ ํ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์๋๋ก ์ง์ํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ํ ํฌ๊ด์ ์ธ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค.
MVC ํจํด์ AppMaster ์ no-code ํ๋ซํผ์ ํตํด ์ฑ๊ณต์ ์ธ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๋ฌ์ฑํ๋ ๋ฐ ํ์์ ์ ๋๋ค. Model-View-Controller ํจํด์ ์ด์ ์ ์ดํดํ๊ณ ํ์ฉํจ์ผ๋ก์จ ๊ณ ๊ฐ์ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์ ์ง ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ฉฐ ํจ์จ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ์ฌ ๋ฐฑ์๋ ๊ฐ๋ฐ ํ๋ก์ ํธ๋ฅผ ๊ฐ์ํํ๊ณ ์ง์ ์ผ๋ก ์ํฅ๋ ฅ ์๋ ์ํํธ์จ์ด ์๋ฃจ์ ์ ๊ตฌ์ถํ๋ ๋ฐ ์ง์คํ ์ ์์ต๋๋ค.