RSS Angular 블로그 - Medium 노트

RSS Angular 블로그 - Medium

이 웹사이트는 웹 애플리케이션 프레임워크인 Angular의 공식 블로그로 보입니다. 홈페이지에는 'The Angular Project의 10주년'과 같은 제목의 최근 블로그 기사 목록이 표시됩니다. 일반적인 주제로는 기술, 개발 및 Angular 자체가 포함됩니다. 검색 바와 함께 카테고리, 태그 및 'About' 페이지가 있습니다. Angular 프레임워크와 관련된 리소스, 업데이트 및 자습서를 제공합니다.

노트 스레드

CdXz5zHNQW_u2X0iVBOi9.png
저자는 에이전트 기반 인터페이스를 구축하기 위한 신흥 프로토콜인 A2UI를 살펴보며, 개발자들을 위해 그 구현 방식을 설명하고자 한다. A2UI를 통해 AI 에이전트는 임의의 코드 실행 없이도 웹, 모바일, 데스크톱 전반에 걸쳐 대화형 사용자 인터페이스를 동적으로 생성할 수 있어, 원활하고 이식성 높은 사용자 경험을 제공한다. 프레임워크와 달리, A2UI는 대규모 언어 모델(LLM) 에이전트와 클라이언트 애플리케이션 간의 통신을 정의하는 프로토콜로, 개발자가 선호하는 프론트엔드 기술을 사용하여 UI를 렌더링할 수 있게 해줍니다. 핵심 아키텍처는 서버 측 에이전트가 공유 스키마를 기반으로 UI 레이아웃 메시지를 생성하고, 클라이언트 측 애플리케이션이 해당 메시지를 해석하여 렌더링하는 방식으로 구성됩니다.서버(에이전트) 측에서 개발자는 몇 가지 핵심 입력 사항을 제공해야 합니다. 여기에는 사용 가능한 UI 구성 요소 카탈로그(기본 요소부터 JSON 스키마로 정의된 사용자 정의 컴포넌트에 이르기까지), 에이전트가 특정 UI를 언제 어떻게 사용해야 하는지 안내하는 자연어 UI 설명, 그리고 원하는 JSON 메시지 구조를 보여주는 소수의 예시가 포함됩니다. 또한 개발자는 “에이전트 스킬”을 통해 UI 설명을 보강하여 특정 사용자 기능과 사용 사례를 정의할 수 있으며, “액션 매핑”을 통해 이벤트를 에이전트를 위한 새로운 자연어 쿼리로 변환함으로써 사용자 상호작용을 처리할 수 있습니다. 에이전트 도구는 일반적인 에이전트 개념이긴 하지만, 데이터 가져오기나 API와의 상호작용과 같은 작업을 수행하는 데에도 필수적입니다.클라이언트 측, 특히 Angular 애플리케이션의 경우, 기본 템플릿 외에 필요한 주요 요구 사항은 서버 측 카탈로그에 정의된 컴포넌트를 렌더링하도록 애플리케이션을 구성하는 것입니다. 표준 요소만 사용되는 경우 기본 카탈로그로 충분합니다. 그러나 에이전트가 사용자 정의 컴포넌트를 생성하는 경우, 클라이언트 측에서는 해당 Angular 구현체와 이러한 컴포넌트를 등록하기 위해 기본 카탈로그를 확장한 사용자 정의 카탈로그가 필요합니다. 중요한 규칙은 클라이언트의 컴포넌트 정의가 에이전트에 제공된 카탈로그 스키마 및 예제와 완벽하게 일치해야 하며, 이를 통해 동적으로 생성된 UI가 정확하게 렌더링되도록 보장해야 한다는 점입니다.
CdXz5zHNQW_mxJqD9rrHE.png
Angular가 안정성과 개발자 경험에 중점을 둔 버전 22를 출시했습니다. 이번 업데이트는 Signal Forms, Angular Aria, Asynchronous Reactivity APIs의 세 가지 주요 기능을 프로덕션 준비 상태로 제공합니다. Signal Forms은 완전한 문서와 커뮤니티 피드백을 반영하여, 폼 구축을 위한 조합 가능하고 반응적인 솔루션을 제공합니다. Angular Aria는 안정화된 API와 테스트 하네스를 통해 포용적인 웹 애플리케이션 구축을 위한 접근 가능한 기본 요소를 제공합니다. 새로운 resource와 httpResource를 포함하는 Asynchronous Reactivity APIs는 개발자가 향상된 데이터 페칭을 위해 시그널 내에서 비동기 프로그래밍을 활용할 수 있도록 합니다.이번 릴리스는 또한 코드 작성 및 AI 개발 플랫폼을 위한 에이전트 도구를 도입하여 AI 개발에서 Angular의 역할을 강조합니다. 여기에는 개발 서버와의 더 나은 에이전트 상호 작용을 위한 업데이트된 Model Context Protocol (MCP) 도구와 최신 Angular 개발에 대한 컨텍스트를 AI 에이전트에게 제공하는 Angular Agent Skills가 포함됩니다. 브라우저 내에서 에이전트 상호 작용을 위한 구조화된 도구 노출을 허용하는 WebMCP에 대한 실험적인 지원도 포함됩니다. 또한 Angular는 Google AI Studio 및 Gemini Canvas와 같은 AI 개발 플랫폼을 강화하여 빌더에게 프레임워크의 강점을 부여합니다. 개발자는 브라우저에서 직접 프로토타이핑하고 Angular 앱 생성을 위한 단순화된 프롬프팅을 사용할 수 있습니다. 이러한 발전은 Angular를 차세대 웹 애플리케이션 구축을 위한 강력한 기반으로 만드는 것을 목표로 합니다.
CdXz5zHNQW_8wHqe4x7uv.jpeg
CdXz5zHNQW_2YonmPl0Up.png
저자는 개발자로서 육아휴직에서 복귀했을 때, 특히 에이전트 스킬 분야에서 빠르게 변화하는 AI 환경을 마주했습니다. AI 에이전트의 지침 모음인 에이전트 스킬은 이전에 진행했던 Angular AI 튜터 프로젝트에 대한 재고를 촉발했습니다. 이 튜터는 Angular를 대화형으로 가르치며, 처음에는 간단한 규칙 파일과 Gemini로 구축되었습니다. 그러나 프로젝트는 대화형 제품으로 발전하면서 수업의 연속성과 구문 최신성 유지에 어려움을 겪었습니다. 튜터의 로직은 긴밀하게 결합되어 재사용성을 저해하고 업데이트를 어렵게 만들었습니다. 제안된 해결책인 라우터 + 빌딩 블록 아키텍처는 튜터의 모듈화되고 재사용 가능한 구성 요소를 만드는 것을 목표로 했습니다. 저자는 이제 에이전트 스킬을 컨텍스트 파이프라인 엔지니어링이라는 비전을 위한 잠재적인 수단으로 보고 있습니다. 저자는 이러한 시스템의 확장성, 신뢰성, 토큰 최적화 및 안정성에 대해 의문을 제기합니다. 궁극적으로 저자는 AI 엔지니어링에 대한 더 깊고 구조적인 질문을 고려합니다. 저자는 이 분야를 컨텍스트 파이프라인 엔지니어링이라고 명명하고 다른 사람들에게 탐험에 동참할 것을 초대합니다. 이 글은 저자가 업무에 복귀하여 새로운 것을 만들 것에 대한 흥분으로 마무리됩니다.
CdXz5zHNQW_TJ5I7pFWcs.png
CdXz5zHNQW_3ydB0yqdQy.png
CdXz5zHNQW_4yE6gQETxG.png
CdXz5zHNQW_3Vc62aUcTN.png
CdXz5zHNQW_DD1Qttebfw.png
CdXz5zHNQW_efWO6p8BJv.png
Angular 팀은 AI 기반 웹 코드 생성을 향상시키기 위해 Web Codegen Scorer 도구를 도입했습니다. 이 도구는 Angular의 현재 프레임워크 상태에 맞게 LLM을 최적화하고 진화하는 애플리케이션 기능 통합을 지원합니다. 또한 일반적인 LLM 오류 분석 및 디버깅을 도와 개선 작업을 더 빠르게 반복할 수 있도록 합니다. Web Codegen Scorer는 AI, 보안 및 접근성 전문가와의 협력을 통해 개발되어 강력한 평가를 제공합니다. Angular는 SolidJS 팀과도 협력하여 다른 프레임워크의 코드 생성 개선 가능성을 보여주었습니다. 이 도구는 커뮤니티 기여와 더 넓은 프레임워크 채택을 장려하기 위해 오픈 소스로 공개되었습니다. Angular v20.2에는 개발 세션을 위한 코딩 에이전트에게 내장 도구를 제공하는 Angular MCP 서버가 포함되어 있습니다. 향후 MCP 서버 기능에는 구문 마이그레이션을 위한 현대화 도구와 최신 AI 정보를 위한 로컬 RAG 엔진이 포함될 예정입니다. Angular 지원은 Google의 AI 제품인 Gemini Canvas 및 Google AI Studio에 통합되었습니다. 팀은 또한 대규모 코드베이스를 위한 에이전트 기능에 중점을 두고 일반적인 LLM 문제를 최소화하는 AI 우선 프레임워크를 탐색하고 있습니다. 저작 형식 및 애플리케이션 구조를 실험하고 있으며, 향후 Angular 개발에 대한 투명성을 약속합니다. Angular 팀은 확장 가능하고 AI 기반 애플리케이션 구축을 지원하는 개발자들을 지원하기 위해 최선을 다하고 있습니다.
CdXz5zHNQW_J8s9Nu3Qbl.png
Angular는 개발자 생산성과 AI 기능 향상에 초점을 맞춘 마이너 업데이트 v20.1 및 v20.2를 출시했습니다. 주요 특징은 zoneless Angular의 프로덕션 준비 상태로, 더 작은 번들 크기와 개선된 디버깅과 같은 이점을 제공합니다. 새로운 애니메이션 기본 요소인 animate.enter와 animate.leave는 네이티브 CSS 애니메이션과의 쉬운 통합을 가능하게 하며, 기존 @angular/animations 패키지를 폐기합니다. 팀은 AI 기반 앱 구축 가이드와 AI 지원 코딩 도구 개선으로 AI 제공 범위를 확장하고 있습니다.또한 문서 검색 및 LLM에 대한 모범 사례와 같은 AI 요구 사항을 지원하기 위해 실험적인 MCP 서버를 개발 중입니다. Angular DevTools는 이제 더 나은 디버깅을 위해 라우트 시각화 및 신호 그래프를 포함합니다. 컴포넌트 테스트는 TestBed.createComponent에 바인딩 객체를 전달하는 지원으로 단순화되었습니다.Mat Menu 컴포넌트는 이제 컨텍스트 메뉴로 작동할 수 있으며, NgComponentOutlet은 동적 컴포넌트용 사용자 정의 EnvironmentInjector를 지원합니다. 추가 개선 사항으로는 개편된 라우팅 가이드, 새로운 currentNavigation 신호, DestroyRef의 destroyed 속성, 템플릿 연산자 및 ARIA 속성에 대한 더 나은 지원이 있습니다. Angular는 이제 TypeScript 5.9를 지원하며 httpResource 및 httpClient을 개선했습니다. 커뮤니티는 새로운 Angular 마스코트에 대한 상당한 피드백을 제공했으며, 최종 디자인은 올해 말에 공개될 예정입니다.
CdXz5zHNQW_bylcGSZJTi.png
Angular 팀과 Chrome 팀이 협력하여 Angular 특정 데이터 및 통찰력을 Chrome DevTools 성능 패널에 직접 가져옴으로써 개발자에게 통일된 프로파일링 경험을 제공합니다. 이 통합은 두 도구의 이점을 결합하여 애플리케이션의 성능에 대한 더 동기화되고 포괄적인 뷰를 제공합니다. Chrome DevTools의 새로운 Angular 사용자 지정 트랙은 애플리케이션 부트스트랩, 컴포넌트, UI 동기화, 라이프사이클 후크 등의 Angular 개념을 사용하여 성능 데이터를 제공합니다. 사용자 지정 트랙의 플레임 차트는 해당 컴포넌트 및 기타 Angular 개념 하에 함수 호출을 그룹화하여 개발자가 개별 함수에 대한 더 세밀한 뷰를 드릴 다운할 수 있습니다. 플레임 차트 항목은 색상 코드화되어 개발자가 애플리케이션에서 무슨 일이 일어나는지 빠르게 확인할 수 있도록 도와줍니다. 색상은 애플리케이션의 다양한 측면을 나타내는 데 사용되며, 예를 들어 의존성 주입 서비스, Angular에 의해 컴파일된 템플릿, 엔트리 포인트 등이 있습니다. 사용자 지정 트랙은 상호작용적이므로 개발자가 플레임 차트 항목을 클릭하여 특정 항목에 대한 더 자세한 정보를 확인할 수 있습니다. 시작하려면 개발자는 최신 버전의 Angular 및 업데이트된 Chrome 버전을 사용해야 하며, 개발자 모드에서 Angular 애플리케이션을 실행하고 콘솔에 ng.enableProfiling()을 입력하여 사용자 지정 트랙을 활성화해야 합니다. 이 통합은 Angular 생태계 내에서 개발자 경험을 개선하는 지속적인 약속을 보여주는 예입니다. 이를 통해 개발자는 더 빠르고 효율적인 애플리케이션을 구축할 수 있습니다.
CdXz5zHNQW_arec9d2R1S.png
CdXz5zHNQW_t5gWIMi5Tb.png
CdXz5zHNQW_cIunLKUSoL.png
CdXz5zHNQW_4lkhfMb8Ye.jpeg
엔터프라이즈급 소프트웨어 시스템은 여러 교차 기능 팀에 의해 구현되는 경우가 많으며, 이러한 팀이 새로운 기능을 효율적으로 제공할 수 있도록 하려면 팀 간의 조정 필요성을 최소화하는 것이 바람직합니다. 이를 위해서는 개별 팀이 처리할 수 있는 저결합 영역으로 시스템을 수직화하는 모듈화가 필요합니다. Micro Frontends는 높은 수준의 팀 자율성과 같은 여러 이점을 약속하는 아키텍처 스타일이지만 수많은 도전 과제도 있습니다. Micro Frontends는 별도의 빌드 프로세스를 생성하며, 이를 증분 빌드와 결합하여 빌드 시간을 개선할 수 있습니다. 이 기능은 팀을 개별 응용 프로그램 또는 별도의 배포에 맞추는 것과 같은 다른 측면을 적용하지 않고도 사용할 수 있습니다. 그러나 개별적으로 개발된 마이크로 프론트엔드는 UI/UX에서 분기되어 일관되지 않은 모양으로 이어질 수 있으며, 여러 애플리케이션을 로드하면 다운로드해야 하는 번들 수가 증가하여 로딩 시간에 부정적인 영향을 미치고 메모리 압력이 증가합니다.응용 프로그램을 저결합 부분으로 분할하는 것이 일반적으로 가장 좋은 방법일 수 있지만, 개별 응용 프로그램으로 구현할 수 있을 만큼 수직 간의 경계를 명확하게 정의하기 어려운 경우가 많습니다. 이를 중요한 솔루션에 통합하면 복잡성이 추가되고 컴파일 시간 통합에서 런타임 통합으로 전환하면 심각한 결과가 발생합니다.Angular 팀은 Monorepos에서 개별 수직을 구현하는 것과 같은 대안이 적합한지 확인할 것을 권장합니다. 그러나 일관된 UI/UX를 지원하는 디자인 시스템을 구축하거나 개별 시스템 파트를 지연 로드하는 것과 같이 Micro Frontends의 단점을 보완하는 방법도 있습니다.Native Federation은 Angular CLI와 긴밀하게 통합되고 Angular로 Micro Frontends를 구현할 수 있는 커뮤니티 프로젝트입니다. 이를 통해 애플리케이션은 별도로 구축 및 배포된 다른 애플리케이션의 일부를 느리게 로드할 수 있으며 호스트와 원격 간에 Angular 또는 RxJS와 같은 종속성을 공유할 수 있습니다.네이티브 페더레이션을 설정하기 위해 ApplicationBuilder에 대한 네이티브 페더레이션 빌더 위임을 구성하고 구성 파일 federation.config.js 생성하는 회로도가 제공됩니다. 구성은 원격 또는 호스트에 고유한 이름을 할당하고 공유할 종속성을 정의합니다. 또한 원격은 셸에 로드할 수 있는 노출된 EcmaScript 모듈을 정의합니다.회로도는 또한 Native Federation을 main.ts에 초기화하는 코드를 추가하고, 기존의 원격 지연 로딩에 의해 노출되는 구성 요소 또는 라우팅 구성을 로드하기 위해 Native Federation의 loadRemoteModule 함수와 결합됩니다.
CdXz5zHNQW_NpT7gwgsMy.png
Angular 팀은 지난 2년 반 동안 개발자 경험과 성능을 개선하는 데 주력해 왔습니다. 기술 산업이 빠르게 발전함에 따라 팀은 장기 비전을 정의하고 연간, 분기별 및 릴리스 기준으로 작업을 계획하여 변화하는 요구 사항에 적응할 수 있는 유연성을 유지합니다. 이 팀은 매년 개발자 설문조사를 통해 개발자의 요구 사항에 대한 가정을 검증하며, 2024년에 10,000개 이상의 응답이 접수되었습니다. 설문 조사 결과에 따르면 개발자의 79%가 최신 두 가지 주요 버전의 Angular를 사용하고 있으며 90%는 독립 실행형 구성 요소, 지시문 및 파이프를 사용하고 있습니다. 그 결과 전반적인 개발자 만족도가 향상되어 개발자의 약 90%가 프레임워크에 만족한다고 보고했습니다. 팀은 독립 실행형 구성 요소, 기본 제공 제어 흐름 및 지연 가능한 보기와 같은 개선 사항이 만족도 증가에 기여하는 것으로 식별했습니다. 그러나 구성 요소 작성 형식 및 테스트는 여전히 개선이 필요한 핵심 영역입니다. 2025년에 팀은 개발자 경험 향상, 최신 개선 사항 채택 지원, 성능 최적화를 포함하여 Angular 개발자의 성공을 돕기 위한 핵심 영역에 투자하는 데 중점을 둘 것입니다. 2025년에 주목할 만한 프로젝트로는 무구역을 개발자 프리뷰로 승격하고, 신호 기반 양식을 도입하고, Karma를 새로운 기본 테스트 러너로 교체하는 것이 있습니다. 팀은 또한 최신 모범 사례를 반영하고 웹 개발자가 목표를 달성하는 데 도움이 되는 기능의 가시성을 높이기 위해 Angular의 설명서를 발전시킬 것입니다.
CdXz5zHNQW_Q8whPTKrhS.png
CdXz5zHNQW_r3Skdt6pNI.png
Angular 개발자 프리뷰 프로세스를 통해 개발자는 API와 기능이 운영으로 승격되기 전에 시험해 볼 수 있으며, Angular 팀은 실제 사용과 피드백에 따라 이러한 API를 조정할 수 있습니다. effect() API에 대한 피드백을 통해 팀은 기능과 개발자 경험의 실질적인 문제를 해결하는 설계에 여러 가지 개선 사항을 파악했습니다. 변경 사항 중 하나는 allowSignalWrites 플래그를 제거하는 것이며, 이는 좋은 패턴을 권장하기 위한 것이지만 결국에는 신호를 업데이트하는 것이 합리적인 경우 effect() 사용을 권장하지 못했습니다. 대신 팀은 필요한 경우 새로운 리액티비티 헬퍼를 추가하는 등의 다른 방법으로 좋은 패턴을 권장하는 데 집중할 것입니다. 이펙트가 실행되는 시기도 변경되고 있으며, 이펙트는 이제 변경 감지 중에 컴포넌트 계층의 일부로 실행됩니다. 이러한 변경 사항은 이펙트 타이밍을 더 예측 가능하고 유용하게 만들고 이펙트가 너무 일찍 또는 너무 늦게 실행되는 버그를 해결하는 것을 목표로 합니다. effect API의 대부분의 용도는 예상대로 계속 작동하지만 뷰 쿼리 결과에 대한 이펙트와 입력 신호의 toObservable() 등 일부 사용 사례에는 영향을 받을 수 있습니다. Angular 팀은 Google에서 테스트 중에 타이밍 변경이 코드에 의미 있게 영향을 준 약 100개의 사례를 수정했습니다. 이러한 변경 사항의 결과로 effect() API는 적어도 v19.0까지 개발자 프리뷰로 유지되며 향후 마이너 릴리스에서 API를 안정화할 계획입니다. Angular 팀은 Angular 개발에 중요한 역할을 한 커뮤니티의 피드백과 지원에 감사드립니다.
Angular v17.3는 개발자 미리 보기로 제공되는 출력을 선언하기 위한 개선된 API를 도입했습니다. 새로운 API는 지시자에서 출력을 선언하는 과정을 단순화하고, 시그널 입력과 같은 다른 함수 기반 API와 일관성을 제공합니다. 또한, 값 출력에 대한 더 정확한 유형을 제공하여 유형 안전성을 개선하고, 미묘한 런타임 오류의 위험을 줄입니다.개발자는 output() 함수를 사용하여 출력을 선언할 수 있습니다. 이 함수는 클래스 필드를 초기화하고 .emit 함수를 호출하여 값을 출력할 수 있습니다. 관찰 가능한 스트림 기반 출력의 경우 outputFromObservable() 함수를 사용할 수 있습니다.새로운 API는 시그널이 아닌 보일러플레이트 코드를 줄이는 편리한 개선입니다. 지시자가 파괴될 때 자동으로 출력을 정리하고, 출력된 값에 대한 유형 안전성을 개선하는 기능을 제공합니다.모든 출력은 OutputRef 인터페이스를 구현하여 개발자가 출력을 프로그래밍 방식으로 듣는 일관된 방법을 제공합니다. RxJS 인터옵 패키지에는 출력을 RxJS 방식으로 듣는 outputToObservable 함수가 포함되어 있습니다.새로운 출력 API는 개발자 미리 보기로 제공되며, Angular는 커뮤니티의 피드백을 환영합니다. 개발자는 ng update를 사용하여 최신 버전의 Angular를 설치하여 새로운 API를 시도할 수 있습니다.Angular v17.3의 개선된 출력 API는 다음과 같은 여러 가지 이점을 제공합니다.- 다른 함수 기반 API와의 개념적 일관성 - 단순화된 구문 - 자동 정리 - 개선된 유형 안전성 - 일관된 프로그래밍 방식 듣기개발자는 새로운 출력 API에 대한 피드백을 댓글, GitHub 토론 또는 기타 채널을 통해 제공할 수 있습니다. 피드백은 API를 더욱 정제하고 안정화하는 데 사용될 것입니다.
조명 콘솔은 연극 조명 디자인에서 무대 조명을 제어하는 전자 기기입니다. Nstudio 팀은 Blackout을 개발했는데, 이는 독립형 콘솔과 동일한 기능을 제공하는 iPad 앱입니다. 이 앱은 DMX 제어 프로토콜 및 LumenRadio TimoTwo 칩을 통해 블루투스 제어를 지원합니다.Blackout은 연결된 조명에 대한 일정한 데이터 전송 속도를 유지하면서 실시간 데이터 지표 및 자세한 조명 제어를 제공하는 부드러운 UI를 제공합니다. 이 앱은 Angular 17+ 및 NativeScript 8+를 사용하여 개발되었습니다. Angular의 DI, 템플릿팅 및 상태 관리와 NativeScript의 플랫폼 최적화된 뷰 및 iOS CoreMIDI 통합을 결합합니다.Angular의 선언적 컴포넌트 아키텍처, 지시문 및 NgRx를 통한 상태 관리는 MIDI Learn Mode 및 nsIf 지시문과 같은 복잡한 UI 기능을 생성하는 데 도움이 되었습니다. nsIf 지시문은 변경 감지에서 뷰를 분리하여 필요한 경우에만 다시 연결하여 성능을 개선했습니다.Angular을 NativeScript와 함께 사용하면 Tailwind CSS로 UIKit 뷰를 스타일링하고 플랫폼 특정 API 및 기술을 사용할 수 있습니다. NgRx는 데이터 흐름을 관리하고 불필요한 계산을 최소화하는 데 있어 핵심적인 역할을 했고, NativeScript은 최적의 성능 및 자연스러운 디바이스 동작을 위해 플랫폼 최적화된 렌더링 엔진을 사용할 수 있었습니다.
Angular 17.1은 데코레이터 기반의 @Input() 입력 대신 반응형 대안인 신호 입력을 도입합니다. 신호 입력은 코드 품질과 생산성을 향상시키는 더 나은 형식 안전성을 제공하여 Angular 신호와의 통합을 용이하게 합니다.신호 입력은 개발자가 신호를 사용하여 입력 변경에 효과적으로 대응할 수 있도록 지원하며, 선택적 및 필수 입력을 지원합니다.@Input()과 비교하여 신호 입력은 OnPush 구성 요소를 자동으로 더티로 표시하여 DX를 개선하고 Zoneless 방향으로 나아갑니다.신호 입력은 신호의 힘을 활용하여 변경 모니터링 및 값 파생을 효율적으로 처리하고 Angular에 필요한 다시 그리는 작업을 알립니다.가능한 사용 사례로는 선언 및 렌더링, 변경 모니터링, 값 파생 및 값 변환 등이 있습니다.신호 입력은 원시 값 처리 및 특정 요구 사항 충족을 위해 변환 및 별칭을 지원하여 유연성을 제공합니다.Angular 팀은 향후 버전에서 생산 상태로 승격되면 신호 입력을 사용할 것을 권장합니다.개발자는 개발자 미리보기에서 신호 입력에 대한 피드백을 제공할 것을 권장합니다.input()의 약식 표기는 초기 값으로 undefined를 암묵적으로 사용하는 데 혼란을 초래할 수 있습니다.입력은 이제 읽기 전용으로, 구성 요소 내부에서 입력을 업데이트하는 애플리케이션에 영향을 줄 수 있습니다.