005 프로그래밍/기타

GraphQL을 프론트엔드 개발자가 배워야 하는 이유

Dallas 2023. 1. 17. 12:07
반응형

GraphQL이란?

페이스북에서 만든 쿼리 언어이다.

 

GraphQL 예시

 

// 호출
{
  hero {
    name
    height
  }
}

 

// Return값

{
  "hero" : {
    "name" : "Iron Man",
    "height" : "184cm"
  }
}

 

SQL도 쿼리언어가 아닌가요? 둘의 차이점은?

SQL은 데이터베이스(DB) 시스템에서 정보를 효율적으로 가져오는 것이 목적이다. 한편, GraphQL은 서버에서 정보를 효율적으로 가져오는 것이 목적이다.

따라서, SQL은 주로 백엔드 시스템에서 작성하고 호출하는 반면, GraphQL은 주로 클라이언트에서 작성하고 호출한다.

 

REST API와의 차이점은?

REST API에서는 URL + Method의 조합을 사용한다. 각각의 정보들이 (예를 들자면) '/writer', '/book/', '/company'/ 와 같이, 각각의 URL에 담겨져있기 때문에, 여러 데이터를 가져오기 위해서는 여러 번의 호출이 불가피하다.

반면, GraphQL에서는 한 번의 호출을 통해 여러 데이터를 가져올 수 있다.

 

GraphQL의 장점

  1. return값을 예측할 수 있다.
  2. 하나의 호출을 통해 복수의 데이터를 가져올 수 있다.
  3. 이와 같은 이유들로 성능의 향상을 가져온다

 

 

반응형