Next.js를 사용하는 이유

rkdghwnd·2023년 7월 7일

Next.js 란 무엇인가?

The React Framework for the Web
Used by some of the world's largest companies, Next.js enables you to create full-stack Web applications by extending the latest React features, and integrating powerful Rust-based JavaScript tooling for the fastest builds.

'웹을 위한 리액트 프레임워크'
세계적인 대기업 회사들이 사용하는, Next.js는 최신의 리액트 기능을 확장하고, 빠른 빌드를 위한 Rust 기반의 강력한 Javascript 도구를 통합해, 풀 스택 웹 어플리케이션을 만들도록 해줍니다.

  • Rust: 메모리 안전성과 성능 및 편의성에 중점을 둔 언어. C++의 대체재로써 등장했다고 한다.
  • Next.js는 12버전부터 컴파일러를 Rust 기반 컴파일러로 교체하면서 refresh와 build 속도가 증가했다.

Next.js는 리액트 기반으로 풀스택 웹 개발을 할 수 있도록 여러가지 기능을 지원하는 프레임워크이다.

흔히 Next.js에서 SSR을 목적으로 많이 사용하기 때문에 SSR을 위한 것으로 오해하고 있는 경우가 많은데 Next.js는 SSR 외에도 웹 개발을 위한 여러가지 기능을 제공하고 있다.

React를 쓰지 않고 Next.js를 사용해야 하는 이유?

React는 스스로를 라이브러리로 정의하고 있고, 그렇기 때문에 웹개발의 전반적인 부분을 담당하는것 아니라 UI에 대한 부분에 대해서만 다룬 뒤 나머지 부분들은 third-party-library를 추가하면서 해결되어왔다. 하지만 이러한 방식은 몇가지 문제점이 있었다.

  • third-party library와의 충돌 가능성
  • Best practice가 없으니 각자가 제멋대로 개발
  • React가 발전하면 다른 library들이 발전을 쫒아와야함

반면에 Next.js는 스스로를 프레임워크라고 정의하고, 기존의 third-party library로 해결하던 기능들을 자체기능으로 제공하면서 Best Practice가 존재하고, React와의 긴밀한 협업도 가능하다.

Next.js에 제공하는 기능들은 공식문서에서 확인할 수 있다.

React 개발을 할 때 Next.js에서 제공하는 기능이 필요할 수도 있고, 그렇지 않을 수도 있다. 하지만 만약 이러한 기능들이 필요하다면 산재되어있는 라이브러리를 어떻게 조합할지 고민하는것 보다 하나의 프레임워크 안에서 동작하는 시스템을 사용하는것이 더 편리할 것이다.

참고

https://json.media/blog/proper_understading_of_nextjs

profile
rkdghwnd's dev story

0개의 댓글