개인공부

Apollo란? GraphQL란?

somm12 2022. 6. 11. 21:45

프론트엔드 관련된 검색을 자주해서 그런지 광고에 떠다니는 GraphQL 단어를 보고 이게 뭔지 알아보기로 했다.

GraphQL 이란

Node.js를 이용해서 DB에 접근하는 나만의 명령어를 만들고 CRUD 요청, 응답을 더 효과적으로 처리할 수 있게 해주는 API 이다.

 

REST API vs GraphQL

GraphQL -> 필요한 정보만 선택해서 가져올 수 있음!!

REST API는? 필요한 정보를 가져올 때 쓸데없는 정보도 다 가져온다. -> Over-fetching 문제

GraphQL -> 하나의 요청으로 여러개의 데이터를 한번에 가져올 수 있다.

REST API는 여러개의 요청을 해야 여러개의 데이터를 가져올 수 있다. -> Under-fetching 문제

 

Apollo란?

GraphQL이 적용된 프로젝트를 쉽게 만들 수 있게 해주는 Node.js 패키지

ApolloServer : GraphQL이 적용된 서버를 쉽게 만들어준다.

ApolloClient : GraphQL을 통해서 Client 상의 LocalState를 이용할 수 있게 만들어준다.

* localstate란?

- 폼 입력, 사이드바 상태 등과 같이 하나 또는 인접한 컴포넌트들에서 이용되는 state.

 *여기서 state란 렌더링에 영향을 미치는 JS object이다. (from React DOC) 

- react에서 useState를 이용해서 localstate를 관리할 수 있다. (전에 간단한 react 프로젝트에서 배움)

조금 더 자세한 state에 대해서는 다음 글에서!!

참조: 

 

[GraphQL] GraphQL, ApolloServer 란? / 사용법 ( GraphQL 서버 만들기 )

GraphQL 이란? ( GraphQL API ) Node.js를 이용해, 데이터베이스에 접근하는 나만의 명령어를 만들고 (Query, Mutation, TypeDefs, resolvers ) CRUD 요청, 응답을 더 효과적으로 처리할 수 있게 해주는 API ( 연..

defineall.tistory.com

 

 

리액트 어플리케이션의 상태 관리하기

안녕하세요, 똑똑한개발자에서 프론트엔드 개발을 하는 이호균입니다. 리액트를 사용하여 어플리케이션을 만들다보면 자연스럽게 상태 관리를 하게 됩니다. 대개 redux, mobx와 같은 상태 관리 라

tech.toktokhan.dev