일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 프로그래머스JS
- 리액트댓글기능
- HTML5
- 포이마웹
- 안드로이드 스튜디오
- 백준구현
- 코테
- 프로그래머스코테
- JS프로그래머스
- 알고리즘
- 자바스크립트
- 백준
- 백준nodejs
- 백준구현문제
- 백준js
- dp알고리즘
- 익스프레스
- 백준알고리즘
- js코테
- 몽고DB
- 프로그래머스
- 리액트커뮤니티
- 리액트
- CSS
- 코딩테스트
- HTML
- 백준골드
- 다이나믹프로그래밍
- css기초
- JS
- Today
- Total
개발새발 로그
NextJS와 React 중 어떤 선택을 해야할까? 본문
일단 당연하게도 현재 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 렌더링 하나만 잘하는 그런 느낌이다. -> 하지만 요새는 이게 가장 중요하다.