9개월 동안 열심히 리액트로만 배우다가,
전 회사 들어가서 5개월 동안 또 열심히 앵귤러만 파다보니
이제는 0개의 프레임워크를 할 줄 아는 것 같은 그런 기분??
그래서 약간의 인사이트를 남기기 위해, 또는 내 머리에 왜 내가 그렇게 헷갈려 했었나를 남기기 위해 표로 만들어보았다.
두개는 뭐가 다른가?

| Angular | React | |
|---|---|---|
| 사용 목적 | 애플리케이션 디자인에 대한 강력한 의견과 복잡한 애플리케이션 개발을 지원하는 여러 작은 라이브러리를 제공 | 이 라이브러리는 UI 구성 요소에만 관심이 있다. MVC 디자인은 Flux를 구현하는 것이 필요하지만, 코드를 어떻게 구성하고 싶은지에 대한 더 많은 유연성을 제공 |
| 데이터 바인딩 | 일방향 및 양방향 데이터 바인딩을 모두 지원하며, 양방향 데이터 바인딩은 UI 입력을 수정하면 모델 상태가 변경되고, 그 반대의 경우도 마찬가지 | 일방향 데이터 바인딩은 UI 요소가 컴포넌트 상태에 영향을 미칠 수 없다는 것을 의미 |
| 언어 | TypeScript는 JavaScript의 상위 집합인 정적 타입 언어 | TypeScript는 JavaScript XML (JSX)을 작성할 수 있지만, 기본적으로는 포함되어 있지 않다 |
| UI 컴포넌트 | Material Design Components - Angular는 UI 구성을 간편하게 만드는 여러 마테리얼 디자인 컴포넌트를 포함 | Material-UI 라이브러리 및 종속성 - 커뮤니티에서 개발한 UI 도구로 다양한 UI 구성 요소를 제공 |
| 디펜던시 인젝션 | 의존성 주입이 지원되며, 서로 다른 스토어에 대해 별도의 라이프 사이클을 사용 가능 | React는 각 컴포넌트가 고유한 전역 상태를 가지기 때문에 의존성 주입을 완전히 지원 않음 |
| DOM | Incremental DOM - 새로운 DOM이 생성될 때, 이전 DOM과 비교하여 차이점을 "실제" DOM에 적용하며, 필요한 경우에만 메모리를 할당 | 가상 DOM - DOM이 변경될 때마다 이전 가상 DOM과 비교하여 차이점만을 수정하고 "실제" DOM에 적용 |
여기서 리액트로 처음 배운 사람들은 잉?? 하는 부분이
좀더 알아보면
의존성 주입 또는 DI는 Angular에서 기본 개념 중 하나입니다. DI는 Angular 프레임워크에 연결되어 있으며, 구성 요소, 지시문, 파이프 및 인젝터블과 같은 Angular 데코레이터가 있는 클래스가 필요한 종속성을 구성할 수 있도록 합니다.
DI 시스템에는 종속성 소비자와 종속성 제공자 두 가지 주요 역할이 있습니다.
Angular는 인젝터라는 추상화를 사용하여 종속성 소비자와 종속성 제공자 간의 상호 작용을 용이하게 합니다. 종속성이 요청되면 인젝터는 레지스트리를 확인하여 이미 사용 가능한 인스턴스가 있는지 확인합니다. 그렇지 않으면 새로운 인스턴스가 생성되고 레지스트리에 저장됩니다. Angular는 애플리케이션 부트스트랩 프로세스 중에 애플리케이션 전체에 걸쳐 인젝터(또는 "루트" 인젝터라고도 함)를 생성하며 필요한 경우 다른 인젝터도 생성합니다. 대부분의 경우 수동으로 인젝터를 생성할 필요는 없지만, 제공자와 소비자를 연결하는 계층이 있다는 것을 알고 있어야 합니다.
:Angular 공식 문서 참조..
이거는 부연 설명이 필요한거 같은데 다음 편에서 계속 적어야지...