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

์ด๋Ÿฌํ•œ ์–ธ์–ด๋Š” ์‚ฌ์šฉ ์šฉ์ด์„ฑ, ๊ฐ€๋…์„ฑ, ์‹ ์†ํ•œ ํ”„๋กœํ† ํƒ€์ดํ•‘ ๊ธฐ๋Šฅ์„ ํŠน์ง•์œผ๋กœ ํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์ž‘์„ฑ, ํ…Œ์ŠคํŠธ ๋ฐ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋ชฉํ• ๋งŒํ•œ ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด๋กœ๋Š” JavaScript, TypeScript, Python, Ruby, PHP ๋ฐ Lua๊ฐ€ ์žˆ์œผ๋ฉฐ ๊ฐ๊ฐ ๊ณ ์œ ํ•œ ์žฅ์ ๊ณผ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ์Šต๋‹ˆ๋‹ค. 2021๋…„ ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ ๊ฐœ๋ฐœ์ž ์„ค๋ฌธ์กฐ์‚ฌ์— ๋”ฐ๋ฅด๋ฉด Python๊ณผ JavaScript๋Š” ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, Python์€ ๋ฐ์ดํ„ฐ ๊ณผํ•™์ž, ์—ฐ๊ตฌ์›, ์ž๋™ํ™” ์ „๋ฌธ๊ฐ€ ์‚ฌ์ด์—์„œ ์ธ๊ธฐ๊ฐ€ ๋†’์•„์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์›น ๊ฐœ๋ฐœ ์˜์—ญ์—์„œ JavaScript์™€ TypeScript๋Š” ๋Œ€ํ™”ํ˜• ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๊ณ  ํด๋ผ์ด์–ธํŠธ ๋ธŒ๋ผ์šฐ์ € ๋‚ด์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์—†์–ด์„œ๋Š” ์•ˆ ๋  ์š”์†Œ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์–ธ์–ด๋Š” ์›น ํŽ˜์ด์ง€๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ณ , DOM(Document Object Model)์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฉฐ, ํŽ˜์ด์ง€๋ฅผ ๋‹ค์‹œ ๋กœ๋“œํ•  ํ•„์š” ์—†์ด ๋‹ค์–‘ํ•œ API์™€ ์›ํ™œํ•œ ํ†ตํ•ฉ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, PHP ๋ฐ Python๊ณผ ๊ฐ™์€ ์„œ๋ฒ„ ์ธก ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋…ผ๋ฆฌ, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ, ์„œ๋ฒ„์—์„œ ์ฝ”๋“œ ์‹คํ–‰ ๋ฐ ์ถœ๋ ฅ์„ ํด๋ผ์ด์–ธํŠธ์— ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

AppMasterno-code ํ”Œ๋žซํผ ๋‚ด์—์„œ ๊ณ ๊ฐ์€ ์‹œ๊ฐ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์ƒ์„ฑํ•˜๊ณ  ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค(BP)๋กœ ์„ค๊ณ„ํ•˜๋ฉฐ REST API ๋ฐ WSS ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ AppMaster ์‚ฌ์šฉํ•˜๋ฉด ๊ณ ๊ฐ์€ drag-and-drop ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ UI ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  Web BP ๋ฐ Mobile BP ๋””์ž์ด๋„ˆ๋ฅผ ํ†ตํ•ด ๋งž์ถคํ˜• ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppMaster ํ”Œ๋žซํผ์€ ๋ฐฑ์—”๋“œ์šฉ Go(golang), ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ Vue3 ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ JavaScript/TypeScript, ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ Android์šฉ Jetpack Compose ๋ฐ iOS์šฉ SwiftUI ๊ฐ–์ถ˜ Kotlin์œผ๋กœ ๊ตฌ๋™๋ฉ๋‹ˆ๋‹ค.

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

AppMaster ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด๋ฅผ ํ†ตํ•ฉํ•จ์œผ๋กœ์จ ์ฝ”๋“œ ๋ชจ๋“ˆ์„ฑ๊ณผ ์œ ์ง€ ๊ด€๋ฆฌ์„ฑ์„ ๋ณด์žฅํ•˜๊ณ  ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ฉฐ ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฐ ๋ฆฌํŒฉํ† ๋ง์„ ๋ณด๋‹ค ์‰ฝ๊ฒŒ โ€‹โ€‹๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ์ •์˜ ๊ธฐ๋Šฅ์„ ์ •์˜ํ•˜๊ณ  ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์€ ๋”์šฑ ์กฐ์งํ™”๋˜๊ณ  ํšจ์œจ์ ์ด๋ฉฐ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฒ ์ด์Šค๋กœ ์ด์–ด์ง€๋ฉฐ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ฐœ๋ฐœ์„ ๋”์šฑ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๊ฐ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฐœ์ „ํ•จ์— ๋”ฐ๋ผ ์„œ๋ฒ„ endpoints ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•ด AppMaster ์˜ ์ž๋™ ์ƒ์„ฑ๋œ Swagger(๊ฐœ๋ฐฉํ˜• API) ๋ฌธ์„œ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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