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

๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ฃผ์š” ์ดˆ์ ์€ ์†”๋ฃจ์…˜์˜ "๋ฐฉ๋ฒ•"์— ์žˆ์œผ๋ฉฐ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ •ํ™•ํ•œ ๋‹จ๊ณ„๋ณ„ ์ ˆ์ฐจ๋ฅผ ์ž์„ธํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์†”๋ฃจ์…˜์˜ "๋ฌด์—‡"์„ ๊ฐ•์กฐํ•˜๊ณ  ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์‹œํ•˜์ง€ ์•Š๊ณ  ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์„ ์–ธ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ํŒจ๋Ÿฌ๋‹ค์ž„๊ณผ ๋Œ€์กฐ๋ฉ๋‹ˆ๋‹ค. ๋ช…๋ นํ˜• ํŒจ๋Ÿฌ๋‹ค์ž„์€ C, Java, Python ๋ฐ Go์™€ ๊ฐ™์€ ์–ธ์–ด๋กœ ์˜ˆ์‹œ๋ฉ๋‹ˆ๋‹ค.

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

๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์š”์†Œ์—๋Š” ๋ณ€์ˆ˜, ํ• ๋‹น, ์ œ์–ด ๊ตฌ์กฐ ๋ฐ ๋•Œ๋•Œ๋กœ ๋ถ€์ž‘์šฉ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ˜๋ฉด ํ• ๋‹น์„ ํ†ตํ•ด ๋ณ€์ˆ˜๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ์–ด ๊ตฌ์กฐ๋Š” if-else ์ ˆ๊ณผ ๋ฃจํ”„๊ฐ€ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ์ „์—ญ ๋ณ€์ˆ˜ ์ˆ˜์ •์ด๋‚˜ I/O ๊ธฐ๋Šฅ ์‹คํ–‰๊ณผ ๊ฐ™์€ ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋ถ€์ž‘์šฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ค‘์š”ํ•œ ๊ฒƒ์€ AppMasterno-code ํ”Œ๋žซํผ์€ ๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ, ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„๋ฅผ ์œ„ํ•œ ์œ ์—ฐํ•˜๊ณ  ํšจ์œจ์ ์ธ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ์œผ๋กœ ์ƒ์„ฑ๋œ ์†Œ์Šค ์ฝ”๋“œ๋Š” ๋‹จ์ˆœ์„ฑ, ์„ฑ๋Šฅ ๋ฐ ๋™์‹œ์„ฑ ์ง€์›์œผ๋กœ ์œ ๋ช…ํ•œ ์˜คํ”ˆ ์†Œ์Šค ์ปดํŒŒ์ผ ์–ธ์–ด์ธ Go(Golang)๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ฃผ๋กœ ๋ช…๋ นํ˜• ํŒจ๋Ÿฌ๋‹ค์ž„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ๊ณผ ๋‹ค์–‘์„ฑ์„ ์ œ๊ณตํ•˜๋Š” Vue3 ํ”„๋ ˆ์ž„์›Œํฌ์™€ JavaScript ๋˜๋Š” TypeScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํ•œํŽธ, ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Android์šฉ Kotlin ๋ฐ Jetpack Compose ์™€ iOS์šฉ SwiftUI ํ™œ์šฉํ•˜๋Š” ์„œ๋ฒ„ ๊ธฐ๋ฐ˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ ์ฃผ๊ธฐ๊ฐ€ ๋นจ๋ผ์ง€๊ณ  ๊ณ ๊ฐ์ด App Store ๋ฐ Play Market์— ์ƒˆ ๋ฒ„์ „์„ ์ œ์ถœํ•˜์ง€ ์•Š๊ณ ๋„ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AppMaster ํ”Œ๋žซํผ์€ ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹ ์†ํ•œ ๊ฐœ๋ฐœ์„ ์ด‰์ง„ํ•˜๊ณ , ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์‹œ๊ฐ์ ์œผ๋กœ ๋””์ž์ธํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ๋ฅผ ํ†ตํ•ฉํ•˜๊ณ , ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค(BP) ๋””์ž์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ •์˜ํ•˜๊ณ , REST API ๋ฐ WebSocket ์„œ๋ฒ„๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๊ณ ๊ฐ์€ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์›ํ™œํ•˜๊ฒŒ drag and drop ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋™์  ๋ฐ ๋Œ€ํ™”ํ˜• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppMaster ํ”Œ๋žซํผ์„ ํ™œ์šฉํ•˜๋ฉด ๊ธฐ์—…์€ ๊ฐœ๋ฐœ ์†๋„๋ฅผ 10๋ฐฐ ๋†’์ด๊ณ  ๋น„์šฉ์„ 3๋ฐฐ ์ค„์ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ค‘์†Œ๊ธฐ์—…์—์„œ ๋Œ€๊ธฐ์—…์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์กฐ์ง์— ์ด์ƒ์ ์ธ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

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