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/
'Development > Development' 카테고리의 다른 글
웹 크롤링을 하기 전에 알아야 할 것 들 (2) | 2021.04.04 |
---|---|
[백엔드 개발자 로드맵 2020] DNS (Domain Name Service) (0) | 2021.04.02 |
[백엔드 개발자 로드맵 2020] 메시지 브로커 (Message Broker) (0) | 2021.03.18 |
[백엔드 개발자 로드맵 2020] 검색 엔진 <Elastic Search / Solr> (0) | 2021.03.17 |
[백엔드 개발자 로드맵 2020] 백엔드 서비스 아키텍처 패턴 (0) | 2021.03.17 |