웹
React
다른 이름: 리액트 , React.js
정의
Meta(Facebook) 개발 UI 라이브러리. 컴포넌트 기반, JSX 문법, Virtual DOM으로 효율적 렌더링. Hooks(useState, useEffect), 단방향 데이터 흐름. Next.js(SSR), Vite(빌드). 세계 1위 프론트엔드 라이브러리
상세 설명
기술 스펙
- JSX: JavaScript + XML 문법 (Babel 트랜스파일)
- Virtual DOM: 변경 사항만 실제 DOM 반영
- Hooks: useState, useEffect, useContext, useReducer, useMemo, useCallback
- 단방향 데이터 흐름: Props down, Events up
- Component: 함수형 컴포넌트 (권장), 클래스 컴포넌트 (레거시)
- Reconciliation: Diffing 알고리즘 O(n)
- Fiber: React 16+ 내부 아키텍처 (우선순위 스케줄링)
실무 활용
- SPA: 단일 페이지 애플리케이션
- Next.js: SSR, SSG (SEO 최적화)
- React Native: 모바일 앱 (iOS, Android)
- 관리자 페이지: 복잡한 UI 관리
장점
- 컴포넌트 재사용: 모듈화, 유지보수 용이
- Virtual DOM: 효율적 렌더링
- 생태계: 방대한 라이브러리, 커뮤니티
- Hooks: 상태 로직 재사용
단점 및 제약
- JSX 학습: 초반 러닝 커브
- Boilerplate: 초기 설정 복잡 (CRA, Vite 해결)
- SEO: CSR은 검색 엔진 불리 (Next.js 사용)
- 빈번한 업데이트: 버전 관리 부담
호환성
모든 모던 브라우저, Node.js, Webpack, Vite
표준 정보
표준화 기구: Meta(Facebook) 오픈소스
출시 연도: 2013년