Schema-first vs Code-first

이예음·2022년 10월 27일
0
post-thumbnail

Schema-first란?

스키마 설계의 우선 순위 프로세스
graphQL의 스키마를 먼저 정의하여 그 스키마에 맞게 코드를 작성하는 방법을 의미한다.

장점

  • 종속성 반전 원리를 따름으로써 더 추상적이고 덜 의존적이다.
  • 프론트엔드와 백엔드를 동시에 허용하여 개발 시간을 단축시킨다.
  • SDL을 제외한 문서가 필요 없다.

단점

  • 스키마 정의는 리졸버와 지속적으로 동기화되어야 한다.
  • SDL 정의는 쉽게 재사용할 수 없으므로 코드 중복이 발생할 수 있다.
  • 분산 스키마를 단일 스키마로 결합하는데 어렵다.

Code-first란?

GraphQL 스키마가 프로그래밍 방식으로 생성되는 스키마보다 코드를 우선시하는 접근 방식이다.

장점

  • 스키마 정의와 리졸버를 모두 저장한 상태로 유지하므로 단일 정보 소스로 작동할 수 있다.
  • 방대한 도구를 사용하지 않아도 schema-first에서 생기는 어려움을 쉽게 극복할 수 있다.
  • 스키마의 복잡성이나 크기가 증가할 것으로 예상되는 경우 관리가 더 용이하다.

단점

  • resolve와 definitions가 같이 있으면 가독성이 떨어질 수 있다.
  • 스키마를 이해하기 쉽지 않을 수 있음
  • 이전 버전과 호환되지 않는 변경 사항은 schema-first 접근 방식에 비해 더 쉽게 들어갈 수 있다

출처
GraphQL for Beginners: Schema-first vs Code-first
GraphQL - schema-first vs code-first

profile
응애

0개의 댓글