September 22, 2021
블로그를 만들기 위해 사용할 툴을 찾아보던 중 Gatsby와 Next를 두고 고민에 빠졌다.
두 프레임워크 모두 튜토리얼을 진행하면서 닮은 듯 다른 두 프레임워크의 차이점을 정리하기 위해 글을 작성해 보기로 했다.
Gatsby is a React-based open-source framework for creating websites and apps. - Gatsby.js 공식 문서
Gastby.js는 정적으로 HTML을 생성하는 웹 사이트를 구축하는 데 사용되는 React 프레임워크입니다.
React, GraphQl, react-router등을 결합하여 개발자가 직접 webpack
등의 개발환경을 설정할 필요없이 빠르게 웹 사이트를 구축하는데 도움을 줍니다.
Gatsby는 페이지 수를 예측할 수 있고 콘텐츠가 대부분 정적으로 유지되는 사이트를 구축하는데 주로 사용됩니다.(블로그, 포트폴리오 사이트 등)
공식 문서에 있는 내용들을 가져왔습니다.
GraphQL을 기반으로 구축된 데이터 계층
속도
개발자 친화적
방대한 생태계
Next.js gives you the best developer experience with all the features you need for production: hybrid static & server rendering, TypeScript support, smart bundling, route pre-fetching, and more. No config needed. - Next.js 공식 문서
Next.js는 SSR를 구축하는데 사용됩니다. 그러면서도 정적 페이지 생성, CDN 캐싱 등 정적 페이지 생성에서 활용할 수 있는 모든 이점들을 지원합니다.
일반적으로 Next는 SSR과 정적 페이지 최적화를 모두 지원하는 사이트가 필요한 경우 사용됩니다.
공식 문서의 내용들을 가져왔습니다.
이미지 최적화
next/image
)zero config
정적 페이지 생성
콘텐츠가 많거나 시간이 지남에 따라 콘텐츠가 증가할 것으로 예상되는 경우 SSG는 최선의 선택이 아니다. 콘텐츠가 많아지면 사이트를 구축하는 데 시간이 많기 걸리기 때문이다.
따라서 시간이 지남에 따라 콘텐츠가 많아질 것으로 예상되는 사이트를 구축할 때는 SSR을 사용하는 것이 좋을거 같다.
소규모 웹사이트와 블로그를 구축하면서 페이지의 수를 예상할 수 있다면 Gatsby를 사용하는 것이 좋을거 같다. Gatsby는 많은 스타터 템플릿과 테마, 플러그인을 가지고 있어 빠르게 개발이 가능하다.