프린세스 다이어리

[GraphQL] 3. Apollo가 무엇이고 왜 쓰는지 본문

GraphQL

[GraphQL] 3. Apollo가 무엇이고 왜 쓰는지

개발공주 2021. 11. 21. 12:58
728x90

1. GraphQL를 사용하기 위해 필요한 것 

 

RestAPI와 마찬가지로, GraphQL 또한 데이터를 주고받기 위한 한 형식일 뿐이다. 누군가가 정보를 실제로 받을 수 있도록 만들어둔 장치가 아니라는 것이다. 따라서 GraphQL을 사용하려면 이미 만들어져 있는 솔루션(라이브러리)이 필요하다.

 

GraphQL 라이브러리의 역할과 종류: 

- 백엔드에서 정보를 제공 및 처리

- 프론트엔드에서 요청 전송

- GraphQL.js, GraphQL Yoga, AWS Amplify, Relay,...

 

백엔드 단에서 요청이 들어오면 GraphQL이 요청을 해석해서 데이터베이스로부터 정보를 꺼내다가 가공 및 처리해서 다시 보내주는 것이다. 또 프론트 단에서도 해당 형식에 맞게 GraphQL 요청을 보낼 수 있어야 한다. 백엔드, 프론트 모두에서 GraphQL 명세대로 정보를 요청하고 답신해주는 솔루션이 필요하다.

 

라이브러리에는 GraphQL에서 정식으로 제공하는 GraphQL.js가 있고, GraphQL Yoga도 많이 사용되는 백엔드단 라이브러리 중 하나다. 프론트단에서는 AWS Amplify, Relay 등이 있다. https://graphql.org/code/ 에서 각 언어나 환경, 클라이언트, 서버단마다 프로젝트에서 사용할 수 있는 graphql 라이브러리를 찾아서 쓸 수 있다.

 

2. Apollo를 사용하는 이유

 

이 많은 라이브러리들 중에서 Apollo를 사용하는 이유:

- 백엔드와 프론트엔드 모두 제공

- 간편하고 쉬운 설정

- 풍성한 기능들 제공

 

https://www.apollographql.com/docs/apollo-server/

https://www.apollographql.com/docs/react/

 

아폴로 프론트단 문서에는 리액트가 나와 있지만, Vue에서도 vue 전용 라이브러리를 활용하여 Apollo를 사용할 수 있다.

 

728x90
Comments