일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 컨테이너
- 스택
- pytorch
- 해시테이블
- RxJS
- 프론트엔드
- 이진탐색
- 포인터
- alexnet
- 연결 리스트
- cors
- 자바스크립트
- GraphQL
- vue3
- 프로세스
- 코딩테스트
- 타입스크립트
- 릿코드
- 자료구조
- APOLLO
- C
- 프로그래머스
- 연결리스트
- RT scheduling
- 배열
- 웹팩
- Machine Learning
- 브라우저
- 큐
- 알고리즘
- Today
- Total
프린세스 다이어리
[GraphQL] 3. Apollo가 무엇이고 왜 쓰는지 본문
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를 사용할 수 있다.
'GraphQL' 카테고리의 다른 글
[GraphQL] 6. Mutation 쿼리 짜는 기본 코드 설명 (0) | 2021.11.24 |
---|---|
[GraphQL] 5. Query 구현하는 기본 코드 설명 (0) | 2021.11.23 |
[GraphQL] 4. apollo-server 설치, 기본 실행 코드 설명 (0) | 2021.11.22 |
[GraphQL] 2. GraphQL 형식으로 정보 주고받는 방법 정리 (0) | 2021.11.21 |
[GraphQL] 1. RestAPI의 특징과 한계, GraphQL이 등장한 배경 (0) | 2021.11.20 |