1. React
React는 Facebook에서 개발한 UI 라이브러리로, 사용자 인터페이스를 만들기 위해 사용된다. React는 컴포넌트 기반 아키텍처를 사용하여 복잡한 UI를 작은 조각으로 나누고 이들을 조합하여 만든다. 가상 DOM(Virtual DOM)을 사용하여 성능을 향상시키고, 상태 관리를 위해 Hooks API를 제공한다.
장점
- 컴포넌트 기반 아키텍처: 코드의 재사용성과 유지보수성이 뛰어나며, 개발 생산성을 향상시킨다.
- 가상 DOM: 효율적인 UI 렌더링을 가능하게 하고 성능을 향상시킨다.
- 강력한 커뮤니티: 활발한 커뮤니티가 존재하여 문제를 해결하고 다양한 라이브러리를 제공한다.
단점
- React는 여러 가지 선택 사항을 요구하기 때문에 초기 설정이 약간 복잡할 수 있다.
2. Vite + React
Vite는 Vue.js의 창시자인 Evan You가 만든 다목적 빌드 도구다. Vite는 Vue.js, React, Vanilla JS 등 다양한 프레임워크를 지원하며, 개발 서버와 빌드 프로세스를 제공한다. Vite는 빠른 개발 환경을 제공하고 최신 웹 표준 기술을 활용하여 성능을 극대화한다.
장점
- 초당 반응: Vite는 빠른 개발 환경을 제공하여 개발자가 변경 사항을 실시간으로 확인할 수 있다.
- 최신 웹 표준 사용: ES 모듈, HMR(핫 모듈 교체), 프리셋 등을 통해 최신 웹 표준을 활용하여 개발을 할 수 있다.
- 간편한 설정: Vite는 간단한 설정 파일을 통해 프로젝트를 구성하고 관리할 수 있다.
단점
- Vite는 아직 초기 단계에 있다.
- Vite는 기존의 웹팩과는 다르게 동작하기 때문에 처음에는 새로운 개념에 대해 익숙해져야 한다.
3. CSR과 SSR
CSR (Client-Side Rendering)
- React는 CSR을 사용하여 초기 렌더링을 수행한다.
- 클라이언트가 서버에 페이지를 요청하면, 서버는 비어있는 HTML 파일을 반환하고, 그 후에 클라이언트에서 JavaScript를 사용하여 페이지를 렌더링한다.
- CSR은 초기 로딩 속도가 빠르고, 동적으로 변경되는 콘텐츠에 적합하다.
SSR (Server-Side Rendering)
- SSR은 서버에서 페이지를 렌더링한 후에 완성된 HTML을 클라이언트에게 반환한다.
- 사용자가 페이지를 요청할 때마다 서버에서 새로운 HTML을 생성하여 반환하므로 초기 로딩 속도가 느릴 수 있다.
- 검색 엔진 최적화(SEO)와 초기 렌더링 속도를 개선하는 데 도움이 된다.
Vite + React에서의 SSR
- Vite는 SSR을 지원하며, 빠른 개발 환경과 최신 웹 표준 기술을 활용하여 SSR을 구현할 수 있다.
- SSR을 사용하면 초기 렌더링 속도를 향상시키고 SEO를 개선할 수 있다.
- Vite + React에서 SSR을 구현하면 CSR과 SSR을 혼합하여 사용할 수 있어 최적의 사용자 경험을 제공한다.
결론
React는 이미 많은 사용자들에게 신뢰를 받고 있는 UI 라이브러리이며, 강력한 생태계를 가지고 있다. 반면에 Vite는 최신 웹 표준 기술과 빠른 개발 환경을 제공하여 개발자들에게 더 좋은 경험을 제공하고자 하는 도구입니다.
프로젝트에 따라, 성향에 따라 고려하자~~~