본문으로 건너뛰기

15장 마치며

1. 리액트 프로젝트를 시작할 때 고려해야 할 사항

1. 서비스의 유지보수를 고려한다면

  • 16.8 버전에서 처음 훅이 소개됐고, 덕분에 함수 컴포넌트의 개념이 정립됐다.

  • 17 버전은 새로운 기능 출시 및 호환성이 깨지는 변경 사항을 최소한으로 맞춘 업데이트이므로 가능하면 17버전으로 가는 것도 좋다.

  • 리액트 팀에서 밝힌 바로, 클래스 컴포넌트는 사라지지 않기 때문에 반드시 리팩터링 할 필요는 없다.


2. 인터넷 익스플로러 11 지원 여부

  • 리액트: 18 버전부터 지원하지 않는다.

  • Next.js: 13 버전부터 지원하지 않는다.

  • query-string: 6.x 버전부터 지원하지 않는다.


3. 서버 사이드 렌더링 애플리케이션 지향

  • 제한적인 사용자에게 빠르게 웹 페이지를 전달하거나 소규모 웹 페이지를 만드는 경우 싱글페이지 어플리케이션을 추천한다.

  • 많은 사용자를 감당해야 하고, 혹은 그럴 계획이 있다면, 서버를 준비할 수 있는 충분한 여유가 된다면 시작부터 서버 사이드 렌더링을 고려하는 것이 좋다.


4. 상태 관리 라이브러리는 필요할 때만

  • 번들링 크기가 커지기 때문에, 관리해야 할 상태가 많고, 여러 상태를 합성해서 새로운 상태를 파생해야 하는 경우에 사용을 고려해본다.

  • 무작정 상태 관리 라이브러리 하나를 잡고 공부하는 것보다 조금씩 점진적으로 상태와 상태 관리의 필요성을 깨닫는 것이 더 좋다.


5. 리액트 의존성 라이브러리 설치를 조심

  • peerDependencies가 설치하고자 하는 프로젝트의 리액트 버전과 맞는지 확인해야 한다.

  • 버전이 맞지 않다면 정상적인 방법으로 설치가 불가능하고, 설령 억지로 설치한다 하더라도 향후 문제를 일으킬 가능성이 크다.


2. 언젠가 사라질 수도 있는 리액트

Svelte와 Vue에 비해 학습 난이도가 높은 편이고, 공식 문서의 클래스 컴포넌트와 함수 컴포넌트가 혼란을 줄 수 있다. CSS와 라이브러리의 높은 자유도로 인해 선택이 복잡해지는 것도 진입 장벽이 될 수 있다.


3. 웹 개발자로서 가져야 할 유연한 자세

  • 웹 어셈블리와 같이 완전히 새로운 개념이 도입될 수도 있지만, 한 가지 변하지 않는 사실은 모든 웹 개발이 HTML, CSS, 자바스크립트라는 토대 위에 세워졌다는 것이다.

  • 리액트가 과거의 다른 프레임워크에 비해 조금 더 많은 인기와 전성기를 구가하고 있는 것은 사실이지만 그렇다고 웹 개발이 결국 모두 리액트로 통일되는 미래가 온다는 것은 아니다. 웹 사이트는 리액트로 돼 있는 것보다 리액트가 아닌 것으로 만들어진 것이 훨씬 더 많다.


작성하고 느낀 점

좋았던 점: 952 페이지 분량의 책을 전부 읽고 정리했다. 3주간 문서화 하며 알던 것을 복습했고, 보다 새롭게 알게된 것이 많았다.

배운 점: 리액트를 배울 때 시야가 넓어지는 책이다. 기능을 만드는 데 열중하기 보다 이해를 기반으로 애플리케이션을 만들어야 하는 것을 배웠다.

아쉬운 점: 처음 보는 개념에 대한 근본적인 이해가 부족해 다른 문서를 찾거나 AI를 사용했지만 잘 만든 프로젝트의 예시를 보지 않는 이상 이해할 수 없는 파트가 존재한다.

향후 계획: 현장에서 리액트를 사용하는 예를 찾아보며 좋은 예제를 수집할 것이다.