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 ํŒจํ„ด์˜ ์ด์ ์„ ์ดํ•ดํ•˜๊ณ  ํ™œ์šฉํ•จ์œผ๋กœ์จ ๊ณ ๊ฐ์€ ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ ํšจ์œจ์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜์—ฌ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๊ณ  ์ง„์ •์œผ๋กœ ์˜ํ–ฅ๋ ฅ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์†”๋ฃจ์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.