概要

Googleは2026年5月13日、Angular 22の最初のRelease Candidate(rc.0)を公開した。このリリースは、Angularフレームワークが長年にわたって推進してきた「Signal-First」設計への移行を集大成するマイルストーンとなっている。Signal Formsの安定化、ゾーンレス(Zoneless)アーキテクチャのデフォルト化、そしてVitestをCLIのデフォルトテストランナーとして採用するという3つの大きな変化が同時に実現し、Angularアプリケーションの構築方法そのものが刷新される。

Signal Formsの安定化

Angular 21で実験的機能として導入されたSignal Formsが、v22でついに安定版となった。従来のReactive FormsやTemplate-Driven Formsに代わり、Signal Formsはシグナルベースの新しいリアクティブフォームAPIを提供する。form()関数がバリデーション機能を持つFieldTreeを生成し、formFieldディレクティブでツリーをInput要素に結合する設計だ。

この仕組みにより「細粒度の更新」が実現される。50フィールドを持つような大規模なフォームでも、変更が発生したフィールドのみが再レンダリングされるため、パフォーマンスが大幅に向上する。バリデーションもrequiredminLengthなどの標準ルールに加え、validate関数によるカスタムバリデーションが簡潔に記述できるようになった。

ゾーンレスアーキテクチャのデフォルト化

Angular 22では、ゾーンレスアーキテクチャが新規プロジェクトのデフォルトになる。従来のZone.jsは圧縮後で約30KBのオーバーヘッドがあり、ブラウザのネイティブAPIに対してモンキーパッチを適用することで変更検出を行ってきた。ゾーンレスではこの仕組みを廃し、シグナルやObservableによる明示的なバインディングで変更を追跡する。

既存プロジェクトではprovideZoneChangeDetection()を使ってZone.jsに戻すことが可能だが、新規プロジェクトではゾーンレスが標準となる。また、新しいコンポーネントではデフォルトでOnPush変更検出戦略が適用されるようになり、不要な変更検出サイクルが根本的に排除される。

VitestのCLIデフォルト採用と新APIの追加

テスト環境においても大きな転換が行われた。KarmaとJasmineに替わり、VitestがAngular CLIのデフォルトテストランナーとして正式採用される。Vitestはテストの並列実行やスナップショットテストをサポートし、開発ループをほぼ瞬時にするほどの高速実行を実現する。API面でもJasmineのspyOnvi.spyOn形式となり、fakeAsync/tickの代わりにvi.useFakeTimers()を使う形式へ移行する。

また、rc.0ではdebounced() Signalの追加や、セレクタ文字列が不要になるSelectorless Componentsの導入も予定されている。debounced()はRxJSを使わずにネイティブなdebouncingを実現し、コードのシンプルさを保ちながらUIの入力最適化が行えるようになる。さらに、Model Context Protocol(MCP)を通じたAIコーディングアシスタントとの連携強化も図られており、Angular CLIがMCPサーバーとして機能する形で、AIツールとのシームレスな統合が実現される予定だ。