Apollo란 ?

GonnabeAlright·2021년 12월 5일
0
post-thumbnail

Apollo란 GraphQL의 클라이언트 라이브러리 중 하나로 GraphQL을 사용한다면 거의 필수적으로 사용하는 상태 관리 플랫폼입니다.

1) Query 및 Mutation 직접 전송

Query 및 Mutation을 Apollo에서 전송함으로써 얻는 이점은 바로 API 서버에서 데이터를 가져오기 위해 번거로운 네트워크단의 HTTP 요청을 신경 쓸 필요가 없어진다는 것입니다. fetch혹은 axios를 사용할 필요가 없다는 뜻입니다.

2) 전송받은 데이터 캐싱

Apollo는 Query를 통해 전송받은 데이터를 자동으로 캐싱합니다. 그에 따라 클라이언트의 반복 요청을 줄여 서버 부하를 줄일 수 있을 뿐만 아니라 서비스를 이용하는 사람들에게 더 나은 사용자 경험을 제공할 수 있습니다. 또한 크롬 브라우저에서 Apollo Client Developer Tools 익스텐션을 설치하면 개발환경에서 캐시 상태와 정보를 즉시 확인이 가능하므로 무척 편리합니다.

3) Local state 관리

Apollo를 사용하면 GraphQL 서버에 Query, Mutation, Resolver를 작성하듯이 동일하게 클라이언트에서도 클라이언트만의 Local state를 만들어 Query, Mutation, Resolver의 사용이 가능합니다. 이는 서버에서 받아온 데이터와 클라이언트에서 관리하는 데이터를 병합할 수 있음을 의미하며 이를 이용해 효율적인 프로그래밍과 데이터 관리가 가능해집니다. 단, GraphQL 서버에 지정되어 있는. type 중에서 필드를 생성해야만 하며 클라이언트에서 생성한 Local state는 서버에 전송되지 않아야 하므로 @client 키워드를 사용해 제어해야 합니다.

0개의 댓글