- リアクティビティ(reactivity) 関連の主要 API を安定化し、Zoneless 機能を開発者プレビューとして公開
- Chrome DevTools との統合などにより、デバッグ体験 と開発効率を大幅に向上
- GenAI 開発を支援し、llms.txt を導入、AI アプリ構築ガイドとサンプルをオープンソースで提供
- 既存の NgIf, NgFor, NgSwitch を正式に非推奨化し、組み込みの control flow への移行を推奨
- Angular 公式マスコット をコミュニティ投票で決める新しいプロジェクトを開始
Angular v20 の主な特徴
- この数年、Angular は Signals ベースのリアクティビティや Zoneless アプリなど、大きな変化を推進してきた
- Angular v20 では、進行中の機能の安定性向上と開発者体験の改善に注力
リアクティビティ(reactivity)機能の安定化
- Signals、computed、input、view queries API が安定版段階に到達
- effect、linkedSignal、toSignal API も安定化し、信頼性の高い非同期状態管理が可能に
- Google、YouTube などの大規模サービスで、input latency 35% 改善 などの成功事例が共有
新しい実験的 API: resource, httpResource
- resource API により、signal の変化に応じた非同期リクエストやストリーミングデータ処理が容易に
- httpResource で信号ベースの HTTP リクエストをサポートし、signal から直接リクエスト結果を利用可能
- WebSocket など多様なストリーミングデータパターンを signal でシンプルに管理可能
Zoneless 機能の開発者プレビュー
- SSR 環境で Node.js の unhandledRejection、uncaughtException の基本ハンドラーを内蔵
- クライアントでは provideBrowserGlobalErrorListeners によりグローバルなエラー監視が可能
- angular.json から zone.js polyfill を削除し、zoneless モードへ移行するガイドを提供
サーバーサイドレンダリングの高度化
- 増分ハイドレーション(incremental hydration)、ルートごとのレンダリングモード が安定化
- 必要な UI のみをビューポート進入時にダウンロード/ハイドレーションし、JS トラフィックの最小化を実現
- ルートごとに SSR/CSR/Prerender など多様なレンダリングモードを設定可能
開発者体験と生産性の向上
- Chrome DevTools と連携し、Angular 専用のパフォーマンストラックを提供。フレームワーク内部のレンダリング、イベント、change detection などをリアルタイムで把握可能
- createComponent の動的生成、ディレクティブ適用、signal ベースのバインディングなど API を改善
- テンプレートで 指数演算子(
**)、in 演算子、タグなしテンプレートリテラル をサポート
- @for の trackFn 未呼び出し、nullish coalescing の誤用、構造ディレクティブの入力漏れなど、診断機能を強化
スタイルガイドとホストバインディングの改善
- 10 年間の事例をもとにスタイルガイドを簡素化・モダン化
- ファイル名/クラス名サフィックスをデフォルトで生成せず、HostBinding/HostListener の代わりに host オブジェクトを推奨
- typeCheckHostBindings オプションを追加し、バインディングエラーのリアルタイム検知を支援
DevTools/テスト環境の改善と Angular Material
- 増分ハイドレーション、deferrable view のデバッグ機能を Angular DevTools に追加
- Karma の代替として vitest をサポートし、watch モードとブラウザテストを実験的に導入
- Material ボタンコンポーネントが M3 仕様に準拠、用語整理、アニメーション/モーション制御など品質を改善
GenAI と LLM の支援
- LLM が最新の Angular コードを学習できるよう llms.txt を導入し、オープンソースのサンプル/ガイドを提供
- Genkit、Vertex AI などとの連携ガイド、実習ライブ配信、ベストプラクティスを公開
組み込み control flow の導入と構造ディレクティブの廃止
- v17 で導入された組み込み control flow は、直感性、型安全性、性能など多方面で優れている
- *ngIf、*ngFor、*ngSwitch は v22 で完全削除予定で、コード移行用 schematic を提供
公式 Angular マスコットプロジェクト
- Angular のアイデンティティとコミュニティの象徴性を強化する公式マスコット候補を提示し、RFC を公開
- ロゴに着想を得たシールド型や、Anglerfish(アンコウ)キャラクターなどを提案
- コミュニティ投票とフィードバックで最終決定し、名前案の提案も可能
今後のロードマップ
- v20 ではリアクティビティ、zoneless、増分ハイドレーションなど大規模機能を磨き上げて安定化
- Selectorless、signal-forms、ユニットテスト改善、マスコットなど次の大型プロジェクトを準備中
- コミュニティからの積極的な意見収集を通じて今後の方向性を決定予定
まだコメントはありません。