ํ์ฅ์ฑ์ ๋งฅ๋ฝ์์ ๋ณต์ ๋ ์์คํ ์ ์ ๋ฐ์ ์ธ ์ฑ๋ฅ, ๊ฐ์ฉ์ฑ ๋ฐ ์์ ์ฑ์ ํฅ์์ํฌ ๋ชฉ์ ์ผ๋ก ๋จ์ผ ํ๊ฒฝ ๋ด์์ ๋๋ ์ฌ๋ฌ ํ๊ฒฝ์ ๊ฑธ์ณ ๋ฐ์ดํฐ ๋๋ ์์คํ ๊ตฌ์ฑ ์์์ ์ฌ๋ฌ ๋ณต์ฌ๋ณธ๊ณผ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ ๋ฐฉ์์ ์๋ฏธํฉ๋๋ค. ํ์ฅ๋์์ต๋๋ค. ๋ณต์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฝํ ์ธ ๊ฐ ์ฌ๋ฌ ์์น์ ๋ฏธ๋ฌ๋ง๋๋ ๋ฐ์ดํฐ ๋ณต์ , ์ฆ๊ฐํ๋ ์์ ๋ถํ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๊ตฌ์ฑ ์์ ๋๋ ์๋น์ค์ ์ฌ๋ฌ ์ธ์คํด์ค๊ฐ ์์ฑ๋๋ ํ๋ก์ธ์ค ๋ณต์ ๋ฑ ๋ค์ํ ์์ค์์ ๋ฐ์ํ ์ ์์ต๋๋ค. ๋ณต์ ๋ ํนํ ํด๋ผ์ฐ๋ ์ปดํจํ ๋ฐ ๋ถ์ฐ ์ํคํ ์ฒ ์๋์ ํ์ฅ ๊ฐ๋ฅํ๊ณ ๋ด๊ฒฐํจ์ฑ์ด ์์ผ๋ฉฐ ๊ฐ์ฉ์ฑ์ด ๋์ ์์คํ ์ ๊ตฌ์ถํ๊ธฐ ์ํ ํต์ฌ ์์์ ๋๋ค.
๋ฐ์ดํฐ ๋ณต์ ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ณต์ ํํ ์ค ํ๋๋ก, ์ฑ๋ฅ๊ณผ ์ค๋ณต์ฑ์ ์ํด ์ฌ๋ฌ ๋ฐ์ดํฐ ๋ณต์ฌ๋ณธ์ ์ ๊ณตํฉ๋๋ค. ๋ฐ์ดํฐ ๋ณต์ ๋ ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ๊ฐ ์์ฑ๋ ๋ ๋ณต์ ๋ณธ ์ธ์คํด์ค ์ ์ฒด์ ์ ํ๋๋ ๋ฐฉ์์ผ๋ก ์ค์๊ฐ์ผ๋ก ์ํ๋๊ฑฐ๋ ์ ๋ฐ์ดํธ๊ฐ ์ ์๋ ๊ฐ๊ฒฉ์ผ๋ก ๋ณต์ ๋ณธ์ ์ ํ๋๋ ๋น๋๊ธฐ์์ผ๋ก ์ํ๋ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ ๋ณต์ ์ ์ฃผ์ ๋ชฉํ๋ ํ ์ธ์คํด์ค์ ์ค๋ฅ๋ก ์ธํด ๋ฐ์ดํฐ ์์ค์ด๋ ์๋น์ค ๊ฐ์ฉ์ฑ์ด ๋ฐ์ํ์ง ์๋ ๋ด๊ฒฐํจ์ฑ ์์คํ ์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. ์ค์ ๋ก Carnegie Mellon University์ Microsoft๊ฐ ์ค์ํ ์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด ์ ๊ตฌํ๋ ๋ณต์ ์์คํ ์ ๊ฐ์ฉ์ฑ ์ ํ ์์ด ์ต๋ 32๊ฐ์ ๋์ ์ค๋ฅ๋ฅผ ํ์ฉํ ์ ์๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
ํ๋ก์ธ์ค ๋ณต์ ๋ ์ฑ๋ฅ, ํ์ฅ์ฑ ๋ฐ ๋ด๊ฒฐํจ์ฑ์ ํฅ์์ํค๊ธฐ ์ํด ๊ตฌ์ฑ ์์, ์๋น์ค ๋๋ ์คํ ์ฝ๋์ ์ฌ๋ฌ ์ธ์คํด์ค๋ฅผ ๋ง๋๋ ๋ฐ ์ด์ ์ ๋ง์ถ ๋ ๋ค๋ฅธ ํํ์ ๋ณต์ ์ ๋๋ค. ๋ณต์ ๋ ๊ตฌ์ฑ ์์ ์ ์ฒด์ ์์ ๋ถํ๋ฅผ ๋ถ์ฐํจ์ผ๋ก์จ ์์คํ ์ ๋จ์ผ ์ฅ์ ์ง์ ์ ๋ฐฉ์งํ๋ฉด์ ์์ ์ฆ๊ฐ๋ฅผ ๋ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ํ๋ก์ธ์ค ๋ณต์ ๋ ํนํ ๋ง์ดํฌ๋ก์๋น์ค์ ๊ด๋ จ์ด ์์ต๋๋ค. ๊ฐ๋ณ ๊ธฐ๋ฅ์ ๊ฐ๋ณ์ ์ผ๋ก ๋ฐฐํฌ ๋ฐ ํ์ฅ ๊ฐ๋ฅํ ์๋ง์ ์๋น์ค๋ก ํตํฉํ๋ฉด ํ์์ ๋ฐ๋ผ ์ํ๋ ๊ตฌ์ฑ ์์๋ฅผ ๋ ์ฝ๊ฒ ๋ณต์ ํ ์ ์์ต๋๋ค.
AppMasterno-code ํ๋ซํผ์ ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ ๋ฐ ํ์ฅ ํ๋ก์ธ์ค์ ๋ณต์ ์ ๋ต์ ์ํํ๊ฒ ํตํฉํ ์ ์๋๋ก ์ง์ํฉ๋๋ค. ์๊ฐ์ ๋น์ฆ๋์ค ํ๋ก์ธ์ค(BP) ๋์์ด๋๋ฅผ ํตํด ๊ณ ๊ฐ์ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๊ฒฝ์์ ๋ฐ์ดํฐ ๋ณต์ ์ ๊ธฐ๋ฐ์ ํ์ฑํ ์ ์๋ PostgreSQL ํธํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์คํค๋ง ์ค๊ณ์ ๊ฐ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฝ๊ฒ ์์ฑํ ์ ์์ต๋๋ค. Go(golang) ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ๋ AppMaster ์์ฑ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ๋น์ ์ฅ์ผ๋ก ์ค๊ณ๋์ด ๋ณต์ ๋ฐ ์ฆ๊ฐ๋ ์์ ๋ถํ๋ฅผ ๋์์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ ํฉํฉ๋๋ค. AppMaster ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฌ ์ธ์คํด์ค์์ ๋ณต์ ๋ฐ ์ก์ธ์คํ ์ ์๋ REST API ๋ฐ WebSocket endpoints ์์ฑ์ ์ถ๊ฐ๋ก ์ง์ํ์ฌ ํด๋น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ, ํ์ฅ์ฑ ๋ฐ ๋ด๊ฒฐํจ์ฑ์ ํฅ์์ํต๋๋ค.
AppMaster ๋ํ Vue3 ํ๋ ์์ํฌ์ JavaScript/TypeScript๋ฅผ ์ฌ์ฉํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๊ณ , Android์ฉ Kotlin ๋ฐ Jetpack Compose ์ iOS์ฉ SwiftUI ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์๋ฒ ๊ธฐ๋ฐ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด App Store ๋๋ Play Market์ ์ ๋ฒ์ ์ ์ ์ถํ์ง ์๊ณ ๋ UI, ๋ก์ง ๋ฐ API ํค๋ฅผ ์ํํ๊ฒ ์ ๋ฐ์ดํธํ ์ ์์ผ๋ฏ๋ก ๋ณต์ ๋ ์๋น์ค ๋ฐ ๊ตฌ์ฑ ์์๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ์ผ์ ์์ค์ ๋ฏผ์ฒฉ์ฑ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
ํ์ฅ์ฑ์ ์ํ ๋ณต์ ์ ๋ต์ ์ฑํํ ๋ ๊ณ ๋ คํด์ผ ํ ๋ช ๊ฐ์ง ํ์ ๋ชจ๋ฒ ์ฌ๋ก์ ์ฅ๋จ์ ์ด ์์ต๋๋ค. ๊ทธ๋ฌํ ์ ์ถฉ์ ์ค ํ๋๋ ์ผ๊ด์ฑ๊ณผ ๊ฐ์ฉ์ฑ์ ์ ์ถฉ์์ ๋๋ค. ๊ฒฝ์ฐ์ ๋ฐ๋ผ ๋ณต์ ๋ณธ ์ ์ฒด์์ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๊ฒ์ด ๋ ์ค์ํ ์ ์์ผ๋ฉฐ, ์ด๋ก ์ธํด ์ ๋ฐ์ดํธ๊ฐ ์ ํ๋๋ ๋์ ๊ฐ์ฉ์ฑ์ด ๊ฐ์ํ๊ฑฐ๋ ๋๊ธฐ ์๊ฐ์ด ๋์ด๋ ์ ์์ต๋๋ค. ๋ค๋ฅธ ๊ฒฝ์ฐ ๊ฐ์ฉ์ฑ์ ์ฐ์ ์์๋ฅผ ์ ํ๋ค๋ ๊ฒ์ ์ต์ข ์ผ๊ด์ฑ์ ๋ชฉํ๋ก ํ์ฌ ๋ณต์ ๋ณธ ์ ์ฒด์์ ์ ์ฌ์ ์ผ๋ก ์ผ๊ด๋์ง ์์ ์ํ๋ฅผ ํ์ฉํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ด๋ฌํ ๋ ๊ฐ์ง ์๊ตฌ ์ฌํญ ๊ฐ์ ์ ์ ํ ๊ท ํ์ ์ ์งํ๊ธฐ ์ํด ๋ค์ํ ๋ณต์ ์ ๋ต๊ณผ ๊ธฐ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ ๋ค๋ฅธ ์ค์ํ ๊ณ ๋ ค ์ฌํญ์ ๋ณต์ ๋ ๊ตฌ์ฑ ์์์ ๋ฐฐํฌ๋ก ์ธํด ์ฆ๊ฐ๋ ๋ณต์ก์ฑ์ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋๋ค. ์๋ํ๋ ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ ๋๊ตฌ, CI/CD(์ง์์ ํตํฉ ๋ฐ ์ง์์ ์ธ ๋ฐฐํฌ) ํ์ดํ๋ผ์ธ, Docker ์ปจํ ์ด๋์ ๊ฐ์ ์ปจํ ์ด๋ํ ์ฌ์ฉ์ ๋ณต์กํ ํ๊ฒฝ์์ ๋ณต์ ๋ ์ธ์คํด์ค ๊ด๋ฆฌ์ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ์ํํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก ๋ณต์ ๋ ์ต์ ์ํํธ์จ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ณ ํ์ฅํ๋ ๋ฐ ํ์์ ์ธ ๊ตฌ์ฑ ์์๋ก, ๋ถ์ฐ ํ๊ฒฝ ์ ๋ฐ์์ ์ฑ๋ฅ, ๋ด๊ฒฐํจ์ฑ ๋ฐ ๊ฐ์ฉ์ฑ์ ํฅ์์ํค๋ ๋ฐ ๊ธฐ์ฌํฉ๋๋ค. AppMasterno-code ํ๋ซํผ์ ๋ณต์ ๋ฅผ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ํตํฉํ๊ธฐ ์ํ ํฌ๊ด์ ์ธ ๋๊ตฌ ์ธํธ๋ฅผ ์ ๊ณตํ์ฌ ์ฌ์ฉ์๊ฐ ์ค์๊ธฐ์ ์์ ๋๊ธฐ์ ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ์ฌ์ฉ ์ฌ๋ก์ ์๊ตฌ ์ฌํญ์ ํจ๊ณผ์ ์ผ๋ก ์ถฉ์กฑํ ์ ์๋ ํ์ฅ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์๋๋ก ์ง์ํฉ๋๋ค.