개발팀에 따르면 독립실행형 구성 요소는 NgModules의 필요성을 줄여 앵귤러 애플리케이션 개발을 간소화한다. 독립실행형 구성 요소, 명령어, 파이프와 함께 standalone: true 플래그를 사용하면 @NgModule() 없이 @component()에 직접 가져오기를 추가할 수 있다. 현재 이 구성 요소는 안정적인 API가 아니며, 앵귤러의 일반적인 하위 호환성 모델 외부에서 변경될 수 있기 때문에 테스트 용도로만 활용해야 한다고 개발팀은 덧붙였다.
또 지난 6월 2일(현지 시각) 공개된 앵귤러 14에서는 반응형 폼이 엄격하게 입력된다. 형식화된 폼은 폼 컨트롤, 그룹, 배열 내부 값이 전체 API 표면에서 타입 세이프 하도록 하여, 특히 깊게 중첩된 복잡한 케이스에서 안전한 폼을 가능하게 한다. 업데이트된 스키매틱을 사용하면 형식화된 폼으로 점진적 마이그레이션을 할 수 있다. 즉, 개발자는 하위 호환성을 갖춘 기존 폼에 점진적으로 입력을 추가할 수 있다. 아울러 ng udpate는 모든 폼 클래스를 형식이 지정되지 않은 버전으로 대체해 개발자가 원하는 대로 타입을 활성화할 수 있도록 지원한다.
새로운 타이핑 지원을 사용하려면 Untyped 폼 컨트롤 인스턴스를 검색하고, 가능하다면 새로운 형식화된 폼 API 표면으로 마이그레이션하라고 앵귤러 개발팀은 권장했다. 한편 앵귤러 설정 지침은 이곳에서 확인할 수 있다. 이 밖에 앵귤러 14의 새로운 기능 및 개선사항은 다음과 같다.
- 최신 타입스크립트 4.7 릴리즈를 지원한다. 앵귤러 14는 기본적으로 ES2020을 대상으로 하기 때문에 CLI에서 다운레벨을 수행할 필요 없이 더 작은 코드를 제공할 수 있다.
- 보호된 구성 요소 멤버는 템플릿에서 직접 바인딩할 수 있다. 이를 통해 재사용할 수 있는 구성 요소의 공개 API를 효과적으로 제어할 수 있다.
- NgModel 변경 사항이 OnPush 구성 요소의 UI에 반영됐다.
- 임베디드 뷰를 생성할 때 옵셔널 인젝터(Optional injectors)를 사용할 수 있다. 이를 통해 특정 템플릿 내에서 종속성 주입 동작을 사용자 정의할 수 있다. 또한 재사용 가능한 구성 요소 및 앵귤러 CDK(Component Dev Kit)의 구성 요소 프리미티브에 클리너 API(Cleaner API)가 활성화된다.
- ng build를 지원하는 es빌드 기반 시스템이 도입돼 순수 ECMA스크립트 모듈 출력으로 컴파일된다(현재 실험적 기능 상태다).
- HarnessLoader가 하네스 유무를 확인하고, 하네스 인스턴스가 있는 경우 이를 반환하는 새로운 방법이 제공된다.
- 앵귤러.io(angular.io)의 새로운 변경 감지 및 런타임 최적화 가이드가 제공된다.
ciokr@idg.co.kr