# [[프론트엔드 프레임워크 (React, Angular, Vue)|프론트엔드 프레임워크 (React, Angular, Vue]]

## 📌 Brief Summary
프론트엔드 프레임워크는 사용자 인터페이스를 구축하기 위해 컴포넌트 기반 아키텍처(CBA)를 채택하는 모듈형 소프트웨어 도구입니다 [1, 2]. React, Angular, Vue와 같은 프레임워크는 기본적으로 클라이언트 측 렌더링(CSR)을 활용하여 상호작용이 풍부한 웹 애플리케이션을 구축하며, 필요에 따라 서버 측 렌더링(SSR) 및 정적 사이트 생성(SSG)을 혼합하여 성능을 최적화합니다 [3-5]. 제공된 소스에서는 프론트엔드 프레임워크의 아키텍처와 작동 원리가 주로 React를 중심으로 상세히 다뤄지고 있으며, Angular와 Vue의 내부 구조에 대한 구체적인 정보는 부족합니다.

## 📖 Core Content
*   **컴포넌트 기반 아키텍처 ([[Component-Based Architecture|Component-Based Architecture]], CBA)**
    *   현대 프론트엔드 프레임워크(React, Angular, Vue 등)는 시스템을 작고 독립적이며 재사용 가능한 '컴포넌트'로 나누어 설계하는 방식을 기반으로 합니다 [5-7].
    *   각 컴포넌트는 자체적인 로직, 상태, UI를 캡슐화하여 제공하므로, 병렬 개발과 독립적인 테스트 및 배포가 가능해져 애플리케이션의 유지보수성과 확장성이 크게 향상됩니다 [1, 8, 9].

*   **웹 렌더링 전략 (Web Rendering Strategies)**
    *   **클라이언트 측 렌더링 (CSR):** React와 Vue는 기본적으로 CSR을 사용하며, 서버에서 빈 HTML 셸을 받은 뒤 브라우저에서 [[JavaScript|JavaScript]]를 실행하여 UI를 동적으로 생성합니다 [10]. 이는 상호작용이 부드럽지만 초기 로드 속도 지연과 SEO 약점을 가질 수 있습니다 [11, 12].
    *   **하이브리드 렌더링:** 이러한 한계를 극복하기 위해 [[Next.js|Next.js]](React 기반), Nuxt.js(Vue 기반) 등의 프레임워크는 서버 측 렌더링(SSR) 및 정적 사이트 생성(SSG)을 혼합 지원하여 빠른 초기 페인팅(FCP)과 강력한 SEO 성능을 제공합니다 [4, 13].

*   **프레임워크 핵심 아키텍처 (React 중심)**
    *   **[[Virtual DOM|Virtual DOM]] 및 재조정 ([[Reconciliation|Reconciliation]]):** 직접적인 DOM 조작의 성능 저하를 막기 위해, React는 UI를 메모리에 가상 DOM 객체로 유지합니다 [14, 15]. 상태가 변경되면 새로운 트리와 기존 트리를 비교(Diffing)하여 실제 DOM에 변경된 최소한의 부분만 업데이트합니다 [16, 17].
    *   **Fiber 아키텍처:** 렌더링 작업을 동기적으로 한 번에 처리하던 기존 방식과 달리, Fiber는 렌더링을 중단 및 재개할 수 있는 작은 '작업 단위'로 나눕니다 [18, 19]. 이를 통해 사용자 입력과 같은 우선순위가 높은 작업을 먼저 처리하는 동시성 렌더링([[Concurrent Rendering|Concurrent Rendering]])이 가능해집니다 [20-22].
    *   **성능 최적화의 자동화:** [[React 18|React 18]]은 비동기 작업이나 이벤트 핸들러 내의 여러 상태 업데이트를 묶어 한 번에 렌더링하는 '자동 일괄 처리(Automatic Batching)'를 도입했습니다 [23-25]. 또한, 최근의 [[React Compiler|React Compiler]]는 빌드 타임에 코드를 분석하여 불필요한 리렌더링을 막기 위한 메모이제이션을 자동으로 적용합니다 [26-28].
    *   **[[React Server Components (RSC)|React Server Components (RSC]]:** 클라이언트 번들 크기를 줄이기 위해 등장한 개념으로, 컴포넌트가 서버에서만 실행되고 클라이언트에는 직렬화된 UI 정보만 전달되어 JavaScript 번들 크기와 [[Hydration|Hydration]] 과정의 부하를 없앱니다 [29, 30].

*(소스에 관련 정보가 부족합니다: Angular와 Vue의 구체적인 내부 렌더링 엔진 작동 방식이나 상태 관리 최적화 기법 등 심층적인 프레임워크별 대조 정보는 제공된 소스에 포함되어 있지 않습니다.)*

## 🔗 Knowledge Connections
- **Related Topics:** `[[Component-Based Architecture|Component-Based Architecture]]`, `Client-Side Rendering (CSR)`, `Server-Side Rendering (SSR)`, `[[Virtual DOM|Virtual DOM]]`, `[[React Fiber|React Fiber]]`
- **Projects/Contexts:** `Next.js 및 Nuxt.js를 활용한 하이브리드 웹 렌더링 최적화`, `Reflow 및 Repaint 최소화를 통한 브라우저 렌더링 개선`
- **Contradictions/Notes:** 제공된 소스 데이터는 프론트엔드 프레임워크의 전반적인 개념(컴포넌트 구조, CSR/SSR)을 다루고 있으나, 기술적 작동 원리와 최적화 아키텍처(Virtual DOM, Fiber, Compiler, 자동 일괄 처리 등)에 대한 설명은 React에 압도적으로 편중되어 있습니다. Angular와 Vue는 개념을 설명하기 위한 예시로만 언급됩니다.

---
*Last updated: 2026-04-25*