React란?
A JavaScript library for building user interfaces
웹 또는 앱 애플리케이션의 UI, 즉 보여지는 부분(프론트 엔드 영역이죠)을 구축한다
SPA(Single Page Application) 아키텍쳐
Single Page Application, 한 개의 페이지로 이루어진 애플리케이션 이라는 뜻
MPA(Multi Page Application)과는 상반된 개념
기존 MPA의 문제점
사용자의 인터렉션에 대한 잦은 리렌더링(re-rendering).
즉, 페이지가 갱신되는 상황이 잦음
SPA 특징과 장점
- 딱 한개의 페이지(Single Page)로 구성된 웹 앱이다.
- 서버에 1회 리소스를 요청한다.
- 그 이후에는 필요할 때, 데이터만 받아와서 기존 페이지를 ‘수정’해주는 방식으로 화면을 수정함
- 리렌더링으로 인한 깜빡이는 현상이 없기 때문에 자연스러운 UX(User Experience)를 구현할 수 있다.
- 비슷한 기술들 → Angular, Vue
SPA 단점
SEO에 약하다.
-> 대부분의 검색엔진 크롤러, 봇들이 자바스크립트 파일을 실행시키지 못하기 때문.
HTML에서만 콘텐츠를 수집하게 되어 클라이언트 사이드로 렌더링 되는 페이지를 빈 페이지로 인식한다.
(이를 보완하기 위해 next js 등의 기술이 등장함)
SPA 프레임워크 종류
- ReactJS
페이스북이 만들고 유지보수
막강한 커뮤니티와 자료 보유 - VueJS
배우기 쉽다.
꾸준히 성장하고 있다. - AngularJS
안정적인 프레임워크
배우기 어렵다.
왜 React인가?
- NPM trends
- RN(React Native)와의 상생, 심지어 VR에서도 활용 가능
- 막강한 커뮤니티
'웹개발 > react' 카테고리의 다른 글
[React] Redux + 설정 카운터 프로그램 만들기 (1) | 2024.01.29 |
---|---|
[React] 리덕스(Redux)란 무엇인가? (1) | 2024.01.27 |
[React] DOM과 Virtual DOM (1) | 2024.01.25 |
React Hooks - useContext(Context API)란 무엇인가? (1) | 2024.01.24 |
React에서 자주 사용하는 자바스크립트 배열 API (0) | 2024.01.22 |