React vs AngularJS 비교 (Quora)
Source
Evernote/Inbox/(1) Why would I use React over AngularJS - Quora.md
Summary
이 문서는 Quora 답변을 바탕으로 React와 AngularJS의 주요 차이점을 5가지 측면에서 비교한다. 1) 컴포넌트화: AngularJS는 MVC 패턴과 표준 서비스를 제공하며, React는 Flux와 함께 뷰 업데이트에 집중하지만 아키텍처 설계에 더 많은 시간이 필요하다. 2) 데이터 바인딩: AngularJS는 양방향 바인딩을 사용하지만 워처(watcher) 과다로 인한 성능 이슈가 있을 수 있으며, React는 단방향 바인딩과 Flux를 통해 데이터 흐름을 제어하여 디버깅이 용이하다. 3) 성능: AngularJS는 $digest 루프와 실제 DOM 조작으로 인해 성능 저하가 발생할 수 있으나, React는 가상 DOM(Virtual DOM)을 통해 효율적인 렌더링을 제공한다. 4) 의존성 주입: AngularJS는 내장된 의존성 주입을 지원하지만, React는 외부 모듈 시스템(Browserify, ES6 modules 등)을 활용해야 한다. 5) 디렉티브 및 템플릿: AngularJS는 DOM 접근을 위한 디렉티브를 제공하지만, React는 템플릿 로직을 컴포넌트 내부에 직접 작성한다.
Key Points
- AngularJS: MVC 기반, 양방향 데이터 바인딩, 내장 의존성 주입, 디렉티브 기반 DOM 조작
- React: Flux 아키텍처, 단방향 데이터 바인딩, 가상 DOM 활용, 외부 모듈 시스템 의존
- 성능: React의 가상 DOM이 AngularJS의 $digest 루프 대비 효율적일 수 있음
- 디버깅: React의 단방향 데이터 흐름이 대규모 애플리케이션에서 디버깅에 유리함
- 설계: React는 아키텍처 설계에 더 많은 자유도와 시간이 필요함