GraphQL 너로 정했다

hamingu·2021년 7월 14일
1
post-thumbnail

WHAT GraphQL?

오늘 훌륭한 의사소통 능력과 강연으로 수료 후 위코드에 바로 스카웃된 동기와의 대화 중
GraphQL에 대해 듣게 되었다.
페이스북에서 만든 쿼리 언어.. 잘 나가는 여러 기업에서 쓰는 그 언어.. 내가 배운 그 곳 위코드에서도 쓴다는 GraphQL.. 알아보지 않을 수 없었다.

GraphQL은 SQL과 마찬가지로 쿼리 언어이지만, 구조적으로 큰 차이가 있는 것 같다.
배우면서 내린 결론은 GraphQL은 클라이언트가 서버로 부터 효율적으로 데이터를 가지고 오는 것에 초점이 맞춰져 있다는 것이었다.

보통 SQL하면 어떻게하면 데이터 베이스에서 데이터를 효과적으로 가져올지가 중점인데 확실히 조금 다르다.

WHY GraphQL?

왜 GraphQL이 좋은가?

기존 REST API의 한계 때문인 것 같다.
내가 특정 제한적인 정보만을 가져오고 싶은데 그 정보만을 주는 api가 없고 다른 정보까지 같이 주는 api가 있다면 어쩔 수 없이 해당 정보를 다 가져오거나 엔드포인트가 다른 새로운 api를 다시 만들어야 될 것이다.

GraphQL은 해결해줘요~

GraphQL은 단 하나의 엔드포인트만 존재한다. 뭘 뜻하냐면 하나의 엔드포인트에 클라이언트가 접근하여 쿼리 작성을 통해 해당 엔드포인트에서 필요한 데이터만 뽑아서 쓸 수 있다는 것이다(그게 가능해..?)

꼭 GraphQL 이여야만 할까?

GraphQL을 학습하며 정말 많은 매력을 느꼈고 다음 리팩토링 또는 프로젝트 때 꼭 활용해보고 싶다.
다만 단점은 없을까???
생각해보자.

GraphQL을 사용하면 우리가 기존해 해왔던 백과 프론트와의 협업과는 다른 양상을 가질 수 있다.
이게 굳이 꼽자면 단점이 될 수 있지만 난 오히려 GraphQL이 가진 생산성을 보면 오히려 장기적으로는 더 장점이 될 수 있을 거라고 생각한다.

하지만 반대로?? 폭발적인 생산성이 필요하지 않은 다소 단조로운 API가 주를 이룬 서비스에서는 이러한 단점을 가져가면서 까지 사용할 필요가 있을까? 의구심을 던져본다.

GraphQL 더 공부해보자~

profile
프로그래밍구

0개의 댓글