구글에서 개발한 타입스크립트(TypeScript) 기반 웹 애플리케이션 프레임워크의 최신 버전 ‘앵귤러 14(Angular 14)’가 출시됐다. 최신 프레임워크는 독립실행형 구성 요소의 개발자 미리보기와 형식화된 폼 등을 제공한다.
개발팀에 따르면 독립실행형 구성 요소는 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가 하네스 유무를 확인하고, 하네스 인스턴스가 있는 경우 이를 반환하는 새로운 방법이 제공된다.