320x100
320x100

GraphQL (GQL)

- 페이스북이 2012년에 개발하여 2015년에 공개한 데이터 질의어

 : API를 위한 서버측 런타임

 : 클라이언트에게 요청한 만큼의 데이터를 제공하는데 우선순위

 : 웹 클라이언트가 서버로부터 효율적으로 데이터를 가져오는 것에 목적

 

- 장점

 : API를 더욱 빠르고 유연하며 개발자 친화적으로 만들기 위해 설계

 : IDE내에 배포가 가능하며 REST를 대체할 수 있는 단일 API호출 제공

 : 기존 쿼리에 영향을 미치지 않고 필드를 추가하거나 폐기할 수 있음

 

- 단점

 : REST API에 친숙한 경우 학습시간 필요

 : 서버 개발자 작업의 복잡성 증가

 : REST에 비해 복잡한 캐싱

 

- GQL 라이브러리

 : Apollo / Relay

 

 

 

 

Apollo

- 대표적인 GraphQL의 클라이언트 라이브러리 

 : Relay에 비해 낮은 러닝커브와 React, Agular, Vue를 동시 지원하는 호환성

 : 뷰에서 React와 같이 사용할 경우 Redux를 대체하고 원활하게 사용가능

 : 플랫폼에 종속적이지 않음 

 

- 특징

 : Query 및 Mutation 직접 전송

 : 전송받은 데이터 자동 캐싱

 : Local State 관리

=> 상세한 설명 : hellominchan.tistory.com/227

 

 

 

Relay

- GraphQL 기반의 데이터 중심 React 애플리케이션을 구축하기 위한 JavaScript 프레임워크

 : 컴포넌트마다 비동기적으로 렌더링되고 필요로 하는 데이터가 천차만별인 React에 재격

 

 

 

 

 

Refference

redhat.com/ko/topics/api/what-is-graphql

d2.naver.com/helloworld/2838729

tech.kakao.com/2019/08/01/graphql-basic/

hellominchan.tistory.com/227

heodolf.tistory.com/112

 

 

 

 

 

 

 

 

300x250
728x90