개발새발 로그

NextJS와 React 중 어떤 선택을 해야할까? 본문

카테고리 없음

NextJS와 React 중 어떤 선택을 해야할까?

이즈흐 2024. 1. 28. 02:57

일단 당연하게도 현재 NextJS가 트렌드이고, SSR이 더 좋은 것이 맞다고 나는 생각한다.

하지만 지금 나는 NextJS에 대해서 모르는 상태이고, React에 더 익숙한 상태다.

그렇다면 지금 당장 프로젝트를 시작했을 때 어떤 것을 선택하는 것이 더 나은지 고민하는 과정을 적어보았다.

 

 

지금은 CSR보다 SSR?

SSR?

간단하게 html을 서버에서 만드는 것이다.

 

이전에 CSR이 왜 유행했지?

React나 Vue같은 라이브러리를 써서

웹페이즈를 서버가 아니라 유저 브라우저에서 실시간으로 만들어주는 것

그러면 페이지 전환이 부드러워지고, 앱처럼 예쁘게 만들 수 있었다.

 

하지만 치명적인 단점이 있었는데

  • 구글 검색 노출이 어렵다(되긴하는데 오래 걸림)
  • 첫 페이지 로딩 속도가 좀 느리다.

문제는 이 두가지가 사이트 수익성에 매우 악영향을 끼치게 된다.

 

근데 SSR은 html 웹페이지를 서버에서 미리 다 만들어서 보내주는 개념이다.

그래서 유저한테 자바스크립트 코드를 많이 보낼 필요가 없어서 조금 더 가볍다.

구글 검색 노출도 잘 되는 편이다.

심지어 NextJS에선 일부 페이지에서 CSR을 하고 싶다면 그것도 선택적으로 가능하다.

그래서 안쓸 이유가 없는 것이다.

 

그래서 React를 사용할때 

useState, useEffect, 비동기, Props, react-query, redux등 전문 기술이 필요했었는데

NextJS를 사용하면 다 필요없어진다.

 

 

NextJS는 풀스택 프레임워크다.

요거 하나로 프론트엔드와 백엔드 전부 다 개발할 수 있다.

그리고 프론트엔드는 React 문법이고, React 신기술을 그대로 도입하고 있기 때문에

기존에 리액트 개발자들이 매우 쉽게 입문할 수 있다.

 

그게 사실 NextJS를 많이 선택하는 이유라고 볼 수 있다.

 

사실 비슷한 프레임워크는 많다.

가츠비,리믹스,넉스트,스벨트 킷 이런 것들이 있는데

개발자 설문조사 결과에서 다른 프레임 워크들은 갈수록 떨어지는데 

NextJS는 안떨어진다.

그리고 사람들이 많이찾는 프레임워크를 사용하는 것이 좋다.

 

 

단점

  • 폴더기반 라우팅을 해주다 보니까 예약파일이 너무 많아져, 오브젝트가 커진다 그러면 좀 복잡해진다.
  • 그리고 리액트의 미완성 기능들을 도입해서 그런지 귀찮은 점들이 많이 생길 수 있다.
  • 그리고 클라이언트 컴포넌트랑 서버 컴포넌트를 구분해서 코드짜는 것이 귀찮을 수 있다.
  • 웹 소켓이나 웹 artc 같은 것을 사용하고 싶을 때 직접 서버 하나를 더 만들어야한다.(다른 nodejs 서버)
  • 그리고 전반적으로 프레임워크 자체가 풍부한 서버 기능 그런 것들이 별로 없고, 그냥 html 렌더링 하나만 잘하는 그런 느낌이다. -> 하지만 요새는 이게 가장 중요하다.

 

 

728x90
반응형
LIST