Published on

Next.js란

Next.js란

Next.jsReact를 기반으로 하는 JavaScript 프레임워크입니다. Next.js를 사용하면 React 앱을 보다 쉽게 구축할 수 있습니다.

Next.jsReact 앱을 서버 사이드 렌더링하는 기능을 제공합니다. 이는 앱의 초기 로딩 속도를 빠르게 만들어 줍니다. 또한 Next.js는 프리렌더링 기능도 제공하여 검색 엔진 최적화(SEO)를 향상시키고 웹 페이지의 성능을 향상시킵니다.

Next.js는 또한 정적 사이트 생성(Static Site Generation, SSG)을 지원합니다. 이는 사전에 페이지를 생성하여 서버에 저장하고 사용자가 요청할 때마다 서버에서 해당 페이지를 제공함으로써 페이지 로딩 속도를 빠르게 만듭니다.

Next.js는 또한 많은 다른 기능들을 제공합니다. 예를 들어, 코드 스플리팅(Code Splitting), 클라이언트 사이드 라우팅(Client-Side Routing), CSS 모듈(CSS Modules), Hot Module Replacement(HMR), TypeScript 지원 등이 있습니다.

Next.js 단점

-학습 곡선: Next.js는 React를 기반으로 하므로, React를 잘 알고 있어야 합니다. 또한, 서버 사이드 렌더링이나 정적 사이트 생성 등의 개념도 알아야 합니다.

-초기 로딩 속도: 서버 사이드 렌더링으로 인해 초기 로딩 속도가 빠르지만, 첫 로딩 이후의 페이지 이동 시에는 React의 일반적인 클라이언트 사이드 렌더링과 같은 속도를 보입니다.

-라우팅: Next.js의 라우팅은 React Router와는 약간 다릅니다. 따라서 React Router와 같은 라이브러리에 익숙한 개발자들은 적응하는 데 시간이 걸릴 수 있습니다.

-배포: Next.js는 Node.js에서 실행됩니다. 따라서 배포 환경에 따라 설정이 필요하며, 이를 제대로 파악하지 않으면 문제가 발생할 수 있습니다.

-적은 커뮤니티: Next.js는 React 생태계와는 호환성이 뛰어나지만, 비교적 적은 커뮤니티를 가지고 있습니다. 이는 문제가 발생할 때 도움을 받기 어렵다는 것을 의미합니다.