Angular 개요

회사 프론트엔드가 Angular로 되어있는데 이쪽을 메인잡으로 일하진 않지만 프론트 개발자를 많이 채용해서 완전히 업무를 분리하기 전까지 이쪽도 어느정도 할줄 알아야 할거같아서 Angular에 대해서 공부하면서 간단히 정리해보자

Angular❓

Angular는 Google에서 만든 **SPA(Single Page Application)**방식의 프론트엔드 개발을 위한 자바스크립트 프레임워크 이다.

개발언어로 es6, Dart 등을 지원하기도 하지만 공식적으로 TypeScript를 권장하고 있다.

Angular 1.x 버전을 AngularJS, Angular 2 이상 버전을 Angular 라고 부른다.

AngularJS와 Angular는 하위 호환성이 없는 브레이킹 체인지를 다수 포함하여 큰 차이점이 많은데 몇가지 정리를 하자면

  • Controller$scope 기반에서 컴포넌트 기반 개발(CBD, Component Based Development)로 전환되었다.
  • 이전보다 향상된 모듈 시스템과 DOM 제어 기능을 제공하며 API가 단순화 되었다.
  • 주력 개발언어로 TypeScript를 도입하여 대규모 개발에 적합한 정적타입과 인터페이스, 제네릭 등 타입체크지원 기능을 제공한다.
  • ECMAScript6에서 새롭게 도입된 모듈, 클래스, ECMAScript7의 데코레이터를 지원한다.
  • 간단한 명령어로 개발환경을 지원하여 프로젝트 스케폴딩을 생성, 실행, 빌드할 수 있는 Angular CLI를 제공한다.

Angular 장점👍

  1. 컴포넌트 기반의 기능에 따라 코드분리와 재사용성이 쉬운 장점이 있다.
  2. SPA방식으로 다른 페이지로의 전환 속도가 빠르다.
  3. 프레임워크로서 개발에 필요한 대부분의 기능을 탑재하고 있다.

Angular 단점👎

  1. TypeScript를 주언어로 사용하여 이에 대한 학습이 필요하고 추가로 Angular의 여러 개념들과 기능들을 익혀야 하는만큼 학습량이 높은 편이다.
  2. 웹페이지가 모두 로딩된 이후 전환은 빠른편이지만 초기 로딩 시 느린 편이다.
  3. 검색엔진 최적화가 잘 되지 않아서 구글을 제외한 다른 사이트들에서 제대로 수집되지 않는 경우가 있다고 한다.
Author

Jaeyong Yoo

Posted on

2021-11-13

Updated on

2023-05-14

Licensed under

댓글