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

Vue.js, React, Angular์™€ ๊ฐ™์€ ์ตœ์‹  ์›น ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” UI ์š”์†Œ๊ฐ€ ๋งˆํฌ์—…, ์Šคํƒ€์ผ ๋ฐ ๋™์ž‘์„ ์บก์Аํ™”ํ•˜๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๋ถ„๋ฅ˜๋˜๋Š” ํ”„๋ŸฐํŠธ์—”๋“œ ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ๋ชจ๋“ˆ์‹ ๋ฐ ๊ตฌ์„ฑ ์š”์†Œ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์˜นํ˜ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์žฌ์‚ฌ์šฉ์„ฑ, ๋ฌธ์ œ ๋ถ„๋ฆฌ ๋ฐ ๊ฑด์‹(๋ฐ˜๋ณต ๊ธˆ์ง€) ์ฝ”๋“œ ์›์น™์— ๋”ฐ๋ผ ์‰ฝ๊ฒŒ ๊ฒฐํ•ฉํ•˜๊ฑฐ๋‚˜ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ์š”์†Œ ๊ธฐ๋ฐ˜ UI๋Š” ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ํšจ์œจ์ ์œผ๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๋Š” ์บก์Аํ™” ๋ฐ ์ถ”์ƒํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ์ด์ ์„ ํ™œ์šฉํ•˜๋ฉด์„œ ๊ตฌ์กฐ์™€ ์ƒํ˜ธ ์ž‘์šฉ์— ๋Œ€ํ•ด ๋ณด๋‹ค ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

ํ”„๋ŸฐํŠธ์—”๋“œ ๊ตฌ์„ฑ ์š”์†Œ ์•„ํ‚คํ…์ฒ˜์˜ ํ•ต์‹ฌ์—๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ๋ฅด๋Š” ๋ฐฉ์‹์„ ์ง€์ •ํ•˜๋Š” ์ƒํƒœ ๊ด€๋ฆฌ ๊ฐœ๋…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒํƒœ ๊ด€๋ฆฌ ๊ธฐ์ˆ ์—๋Š” ๋กœ์ปฌ ๋ฐ ๊ธ€๋กœ๋ฒŒ ์ƒํƒœ, ๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ํ๋ฆ„, ์ด๋ฒคํŠธ ์ค‘์‹ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋“ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. Redux, Vuex ๋ฐ MobX์™€ ๊ฐ™์€ ์ธ๊ธฐ ์žˆ๋Š” ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ƒํƒœ ๋ณ€๊ฒฝ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์—„๊ฒฉํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๋ณด์žฅํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์˜ ํšจ์œจ์ ์ธ ํ†ต์‹ ์„ ์ด‰์ง„ํ•˜์—ฌ ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ์„ ๋†’์ด๊ณ  ๋””๋ฒ„๊น…์„ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

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

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

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

AppMaster ์˜ drag-and-drop ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ๊ด€๋ จ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์บก์Аํ™”ํ•˜๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ณ  ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ€๋Šฅํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์กฐ๋ฆฝํ•˜์—ฌ ๋Œ€ํ™”ํ˜• ๋ฐ ๋ฐ˜์‘์„ฑ์ด ๋›ฐ์–ด๋‚œ UI๋ฅผ ์ œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹จ์ˆœํ™”ํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ™•์žฅ์„ฑ๊ณผ ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํ”Œ๋žซํผ์€ ์„œ๋ฒ„ ์ค‘์‹ฌ ์—…๋ฐ์ดํŠธ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๊ณ ๊ฐ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์•ฑ ์Šคํ† ์–ด์— ๋‹ค์‹œ ์ œ์ถœํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹ค์‹œ ์„ค์น˜ํ•˜๋„๋ก ์š”๊ตฌํ•˜์ง€ ์•Š๊ณ ๋„ ์ง€์†์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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