코딩팍

앵귤러 js는 앵귤러 버전 1입니다. 앵귤러 2는 앵귤러 js로부터 완전한 리워크를 통해서 발전했습니다. 거의 새로운 프레임워크라고 봐도 무방할 정도입니다. 

 

2016년에 출시한 앵귤러 2부터 최신 버전인 앵귤러 10까지의 주요 기능 차이점, 출시일, 성능 차이를 알아보겠습니다.

 

 

앵귤러 팀은 앵귤러 업데이트의 주 목적은 안정성, 최신 기술 사용, 최적화, 버그 픽스고 설명하고 있습니다. 앵귤러는 대체적으로 6개월마다 새로운 매이저 버전을 출시합니다. 지난 4년간에 앵귤러는 8개의 매이저 버전을 출시했습니다.

 

매이저, 마이너, 패치 

매이저 버전
- 다수의 새로운 기능

- 약간의 개발자의 개입 필요

- 업데이트 스크립트 실행, 코드 정리, 추가적인 테스트 실행, 새로운 API 학습

마이너 버전
- 새로운 작은 기능

- 완전한 하위 호환 가능

- 최소한의 개발자 개입 

- 선택적으로 새로운 기능이나 API 사용을 위한 라이브러리 업데이트, 앱 수정

패치
- 리스크 적음

- 버그 픽스

- 개발자 개입 필요없음

 

 

매이저 버전 업데이트라고 해도 앵귤러js 에서 앵귤러 2 만큼에 문법적 차이가 있는 것은 아닙니다. 보통 성능 업그레이드, 새로운 개발자 툴 등등이 많습니다. 그 외에도 접근성 업데이트, 매테리얼 업데이트, 수백 개의버그가 고쳐졌습니다.

 

버전별 출시일, 서포트 중단일, 주요 이점

버전 출시일 서포트 중단일/예정일 (deprecation) 주요 이점
9 2020년 2월 2021년 8월 - 새로운 컴파일과 렌더링 방법으로 번들 크기를 크게 40%까지 감소
8 2019년 5월 2020년 11월 - 브라우저에 따른 효율적인 번들 로딩으로인한 성능 20%까지 상승
7 2018년 10월 2020년 4월 - cli 개발 커맨드를 알려주는 기능등 개발 툴 효율성 
6 2018년 5월 2019년 10월 - 앵귤러 컴포넌트를 앵귤러 밖에서도 사용 가능
5 2017년 11월 2019년 4월 - 추가적 컴파일을 통한 컴파일 속도 개선
- 빌드 최적화를 통해 번들 크기를 줄임
4 2017년 3월 2018년 10월 - 버전 숫자 통합/정리
- 유용한 html 템플릿 언어 소개
2 2016년 9월 2018년 4월 - 타입스크립트 사용: 에러를 일찍 찾고 디버깅을 더 쉽게함
- 재사용 가능한 컴포넌트

*매이저 버전은 18개월 동안 서포트됩니다.

 

이 중에서 제일 주목해야 할 점은 앵귤러 9 업데이트입니다. 

출처: https://blog.angular.io/

 

앵귤러 9에서는 Ivy라는 새로운 컴파일러/렌더링이 사용되면서 앱 크기에 큰 영향을 준다고 합니다. 앱 크기가 작을수록 앱 로딩의 속도가 빨라집니다. 위에 그래프에 보시다시피 작은 앱은 30%까지 크기가 작이 질 수 있고, 큰 앱은 25%에서 40%까지 앱 크기가 감소한다고 하네요. 그런데 중간 사이즈 크기의 앱한테는 큰 차이가 많이 없어 보이네요. 많은 앱들은 중간 크기 일지 않을까 싶은데 두고 봐야 할 거 같습니다. 보통 성능, 최적화를 위해서 앱 크기를 1%라도 줄이고 싶어 하는 것이 현실인데, 최대 40%까지 줄일 수 있다니 엄청난 성능 차이가 보일 꺼 같습니다. 앵귤러 팀 대단합니다.

 

참고로 앵귤러 버전 3은 존재하지 않습니다. 간략하게 요약하자면 앵귤러 중에 한 패키지가 이미 버전 3.x.x를 이용하고 있어서 헷갈리는 것을 막기 위해서 3 버전을 뛰어넘고 4가 출시했습니다.

 

앵귤러 업데이트 방법은 생각보다 어렵지는 않습니다. 하지만 업데이트할 때 앵귤러 팀은 한 매이저 버전에서 바로 다른 매이저 버전으로 건너뛰는 것은 추천하지 않고 있습니다. 예를 들어 버전 6에서 9로 업데이트할 땐, 6에서 7로, 7에서 8로 그리고 8에서 9로 업데이트하는 것을 추천합니다. 업데이트 방법은 https://update.angular.io/ 에 쓰여있는 대로 순서대로 따라 하시면 됩니다.

 

이처럼 벌써 앵귤러 2가 출시한 이후 현재 날짜까지 벌써 7가지의 버전이 출시 됐습니다. 6개월마다 출시된다니 업데이트 속도가 굉장히 빠르게 느껴지네요. 실제로 제 경험상 실제 기업에서 이 속도를 따라가기란 어렵습니다. 하지만 매번 업데이트하지 않는다고 해서, 서포트가 이미 중단 됐다고 해서 앱이 실행되지 않는 것이 아닙니다. 과연 업데이트할 가치가 있는지, 업데이트하는데 걸리는 시간은 얼마나 되는지, 지금까지 이용한 패키지들이 모두 호환되는지 먼저 생각해 볼 필요가 있습니다.

 

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band