Angular 란?
- Google에서 만든 웹 프론트엔드 프레임워크다.
* 프레임워크 : 이미 잘 만들어진 뼈대와 같은 애플리케이션. 사용자는 프레임워크가 정해준 방식대로 클래스와 메서드들을 구현하면 됨. (프레임워크가 코드 흐름을 제어함)
- SPA 방식으로 개발할 수 있게 해주고, TypeScript 사용을 전제로 두고 있다.
* SPA (Single Page Application) : 단일 페이지 어플리케이션으로, 웹 애플리케이션에 필요한 모든 정적 리소스를 최초에 한번 다운로드 하고, 이후 새로운 페이지 요청 시 페이지 갱신에 필요한 데이터만을 전달받아 페이지를 갱신하는 방식이다.
* (참고 : 브라우저에서 TypeScript를 직접 실행할 수는 없음. 반드시 tsc 컴파일러를 통해 JavaScript 로 트랜스파일이 되어야함.
TypeScript 개발환경과 환경 설정 파일은 tsconfig.json / typings 임)
👍 출처 : https://www.angular.kr/guide/typescript-configuration
참고용
프레임워크 vs 라이브러리
프레임워크
- 이미 잘 만들어진 뼈대와 같은 애플리케이션. 사용자는 프레임워크가 정해준 방식대로 클래스와 메서드들을 구현하면 된다.
- 프레임워크는 이미 틀이 만들어져있기 때문에, 제어 흐름 권한 또한 프레임워크에게 있음. (앱/서버 구동, 메모리 관리, 이벤트 루프 등을 프레임워크가 관리함)
- ex) Angular, Spring (Java 서버 개발), Django (Python 서버 개발)
라이브러리
- 특정 기능을 모아둔 코드나 함수의 집합이며, 코드 작성 시 활용 가능한 도구들을 말한다.
- 사용자가 코드 흐름을 제어해야 함.
- ex) Python pip 으로 설치한 모듈이나 패키지 / React 등
요약
- 프레임워크와 라이브러리의 차이는 "제어 흐름 권한 소유자" 임.
출처
https://www.angular.kr/guide/what-is-angular