GraphQL์ ๊ธฐ์กด RESTful API๋ณด๋ค ์ ์ฐํ๊ณ ํจ์จ์ ์ด๋ฉฐ ๊ฐ๋ ฅํ ํ์์ ๋์์ ์ ๊ณตํ๋๋ก ์ค๊ณ๋ API์ฉ ์ฟผ๋ฆฌ ์ธ์ด ๋ฐ ๋ฐํ์ ํ๊ฒฝ์ ๋๋ค. 2012๋ Facebook์ด ๋ง๋ค๊ณ 2015๋ ์ ์คํ ์์ค ํ๋ก์ ํธ๋ก ์ถ์๋ GraphQL์ ์ต์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณํํ๋ ์๊ตฌ ์ฌํญ์ ์ ์ํ ์ ์๋ ๋ฅ๋ ฅ์ผ๋ก ์ธํด ๊ฐ๋ฐ์์ ์กฐ์ง ์ฌ์ด์์ ๋น ๋ฅด๊ฒ ์ธ๊ธฐ๋ฅผ ์ป์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๊ณ ์ ๋ endpoints ์ธํธ๋ฅผ ๋ ธ์ถํ๊ณ ๋ฐ์ดํฐ์ ์ด๊ณผ ๊ฐ์ ธ์ค๊ธฐ ๋๋ ๋ถ์กฑ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์๊ตฌํ๋ REST์ ๋ฌ๋ฆฌ GraphQL์ ํด๋ผ์ด์ธํธ๊ฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ํํ๊ฒ ์์ฒญํ ์ ์๋ ๋จ์ผ endpoint ์ ๊ณตํฉ๋๋ค. ์ด๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋์ ์ผ๋ก ๊ฒ์ํ๊ณ ์์ฒญํ ์ ์๋๋ก ํ๋ ๊ฐ๋ ฅํ ํ์์ ์คํค๋ง๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌ์ฑ๋ฉ๋๋ค. ์ด ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ํตํด ํ๋ฐํธ์๋ ๊ฐ๋ฐ์๋ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํด ๋ฐฑ์๋ ๊ฐ๋ฐ์์๊ฒ ์์กดํ์ง ์๊ณ ๋ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ํ๊ณ ์ต์ ํํ ์ ์์ต๋๋ค.
์ธ์ด๋ก์ GraphQL์ ๊ธฐ๋ณธ ์๋ฒ์์ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๋ฐ์ดํฐ ์ ์ฅ์์ ๊ตฌ์ ๋ฐ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค, RESTful ์๋น์ค, ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ํฌํจํ ๊ด๋ฒ์ํ ๋ฐ์ดํฐ ์์ค์ ์ ํฉํฉ๋๋ค. ๋ํ GraphQL์ ๊ตฌ๋ ์ด๋ผ๋ ๊ธฐ๋ฅ์ ํตํด ์ค์๊ฐ ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ๋ฅผ ์ง์ํ๋ฏ๋ก ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํ๋ ์ฆ์ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์์ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
GraphQL์๋ ์ต์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ํ ๊ฐ๋ ฅํ ์ ํ์ด ๋๋ ๋ช ๊ฐ์ง ์ฃผ์ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
- ๊ฐ๋ ฅํ ์ ํ ์ง์ : GraphQL์ ์๊ฒฉํ ์คํค๋ง๋ฅผ ์ ์ฉํ์ฌ API์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ ํ์ ๋ช ์์ ์ผ๋ก ๋ง๋ญ๋๋ค. ์ด๋ฅผ ํตํด ์๋ ์์ฑ, ์ ํจ์ฑ ๊ฒ์ฌ, ์ ํ ๊ฒ์ฌ ๋ฑ์ ๊ฐ๋ ฅํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ด ๊ฐ๋ฐ ํจ์จ์ฑ์ด ํฅ์๋๊ณ ์ค๋ฅ ๊ฐ๋ฅ์ฑ์ด ์ค์ด๋ญ๋๋ค.
- ์ ์ธ์ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ: ํด๋ผ์ด์ธํธ๋ ํ์ํ ๋ฐ์ดํฐ๋ง ์์ฒญํ์ฌ ํ์ด๋ก๋๋ฅผ ์ต์ํํ๊ณ API ํธ์ถ ๋๊ธฐ ์๊ฐ์ ์ค์ ๋๋ค. ์ด๋ ๋์ญํญ๊ณผ ์ฑ๋ฅ์ด ์ค์ํ ์์์ธ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ํนํ ์ ์ฉํฉ๋๋ค.
- ์ ์ฐํ ๋ฐ์ดํฐ ๊ณ์ธต ๊ตฌ์กฐ: GraphQL์ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๊ฐ์ ๊ณ์ธต์ ๊ด๊ณ๋ฅผ ์ง์ํ๋ฏ๋ก ๋ณต์กํ ๋๋ฉ์ธ์ ์ฝ๊ฒ ๋ชจ๋ธ๋งํ๊ณ ์ํฐํฐ ๊ฐ์ ์ข ์์ฑ์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ด๋ จ ์ํฐํฐ์ ๋ชจ๋ ์กฐํฉ์ ๋ํด ๋น์ ๊ทํ ๋ฐ ๋ณ๋์ endpoints ์ ๋ํ ํ์์ฑ์ ์ค์ฌ API ์ค๊ณ๋ฅผ ๋จ์ํํ ์ ์์ต๋๋ค.
- ๋ฒ์ ์๋ ์งํ: GraphQL์ ์คํค๋ง ๋ฐ ์ ํ ์์คํ ์ ์ฌ์ฉํ๋ฉด ๊ธฐ์กด ํด๋ผ์ด์ธํธ๋ฅผ ์์์ํค์ง ์๊ณ ํ๋๋ฅผ ์ถ๊ฐ, ์ฌ์ฉ ์ค๋จ ๋๋ ๋ณ๊ฒฝํ์ฌ API๋ฅผ ์ ์ง์ ์ผ๋ก ๋ฐ์ ์ํฌ ์ ์์ต๋๋ค. ์ด๋ ๋ง์ RESTful API๊ฐ ์ง๋ฉดํ๋ ์ผ๋ฐ์ ์ธ "๋ฒ์ ๊ด๋ฆฌ ์ง์ฅ" ๋ฌธ์ ๋ฅผ ํผํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ด๋ฌํ ์ด์ ์ ๊ณ ๋ คํ๋ฉด GitHub, Airbnb, Shopify ๋ฐ The New York Times๋ฅผ ํฌํจํ์ฌ ์ ์ ๋ ๋ง์ ์กฐ์ง์ด API์ GraphQL์ ์ฑํํ ๊ฒ์ ๋๋ผ์ด ์ผ์ด ์๋๋๋ค. ์ค์ ๋ก 2019๋ JavaScript ํํฉ ์ค๋ฌธ์กฐ์ฌ์ ๋ฐ๋ฅด๋ฉด GraphQL์ ๊ฐ๋ฐ์ ๋ง์กฑ๋, ์ฌ์ฉ ๋ฐ ํ์ต ๊ด์ฌ๋ ์ธก๋ฉด์์ ๋ค๋ฅธ ์ด๋ค API ๊ธฐ์ ๋ณด๋ค ๋ฐ์ด๋ฉ๋๋ค.
AppMaster ํ๋ซํผ์ ๋งฅ๋ฝ์์ GraphQL์ ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํฉํ๋ฉด ์ ์ฐ์ฑ, ์ ์ง ๊ด๋ฆฌ์ฑ ๋ฐ ํจ์จ์ฑ์ด ๋์ฑ ํฅ์๋ ์ ์์ต๋๋ค. AppMaster ์ no-code ํ๋ซํผ์ GraphQL์ ๊ฐ๋ ฅํ ์ ํ ์ง์ ๋ฐ ์คํค๋ง ๊ธฐ๋ฐ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ GraphQL์ ์ ์ธ์ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ์ ์ต์ ํ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ(๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง), ๋น์ฆ๋์ค ๋ก์ง ๋ฐ ํด๋ผ์ด์ธํธ ์ธก ๊ตฌ์ฑ ์์๋ฅผ ์๋์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋์ฑ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์ฑ๋ฅ์ด ๋ฐ์ด๋๋ฉฐ ์ฌ์ฉ์ ์ ์๊ฐ ๊ฐ๋ฅํด ์ฐ์ ์ ๋ฐ์ ๋ค์ํ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ง์ํฉ๋๋ค.
AppMaster ์ ์๊ฐ์ BP ๋์์ด๋๋ ๋ฐฑ์๋์ฉ Go(golang), ์น ํ๋ฐํธ์๋์ฉ Vue3, Android์ฉ Kotlin ๋ฐ Jetpack Compose, iOS์ฉ SwiftUI ํฌํจํ๋ ๊ธฐ์ ์คํ๊ณผ ํจ๊ป ๋ชจ๋ GraphQL๊ณผ์ ์ํํ ํตํฉ์ ๋งค์ฐ ์ ํฉํฉ๋๋ค. GraphQL์ ํตํฉ๋ ์ธ์ด๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฌ ๋ถ๋ถ ๊ฐ์ ์กฐ์ ์ ๋จ์ํํ์ฌ ์ฅ๊ธฐ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด๋ค ์์ง๋ ฅ ์๊ณ ์ฝ๊ฒ ๊ฐ๋ฐ, ์ ์ง ๊ด๋ฆฌ ๋ฐ ํ์ฅํ ์ ์๋๋ก ํฉ๋๋ค.
์ ๋ฐ์ ์ผ๋ก GraphQL์ ์ ์์ฑ, ํจ์จ์ฑ ๋ฐ ๊ฐ๋ ฅํ ์ ๋ ฅ ๊ธฐ๋ฅ์ ์ํํธ์จ์ด ์ํคํ ์ฒ ๋ฐ ํจํด ์ฉ์ด์ง์ ์ค์ํ ์ถ๊ฐ ์์์ ๋๋ค. GraphQL์ AppMasterno-code ํ๋ซํผ์ ํ์ ๋ถ๋ถ์ผ๋ก ์์ฉํ๋ฉด ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ง, ํ์ฅ์ฑ ๋ฐ ์ฑ๋ฅ์ ํฅ์์์ผ ๋ฏธ๋ ์งํฅ์ฑ๊ณผ ๋ณํ์ ๋ํ ํ๋ ฅ์ฑ์ ๋์ผ ์ ์์ต๋๋ค.