Open5
Angular v17 キャッチアップ


- Built-in control flow
- if
- for
- switch
- Defferrable views
- defer
- New lifecycle hooks
- afterRender
- afterNextRender
- Vite and esbuild the default for new projects
- Standalone APIs from the start
- testing
- Jest support
- Web Test Runner support
- Material3
- Experimental view transitions support
- provideRouter(routes, withTransitions())
- Defer loading of the animations module
- Input value transform
- Community schematics

v17から導入された組み込みの制御フロー構文
RFC: Built-In Control Flow

Why:
- 従来のAngularのTemplate Control FlowはDX(開発者体験)が悪い
- 他のフレームワークと比較して重大な瑕疵となる
- built-in control flowはこの問題点に対処し、新機能の基盤となるだけでなく、DXを大幅に改善する
Why now:
- 従来の制御フローではzoneless applicatonが機能しない
- Signals RFCの実装に必要な作業の一環
- 他の代替案も検討したが、構造ディレクティブに関する長年のDXの問題に対応するため、built-in control flowの設計を進めることにした

Goal:
- JavaScriptの制御フローステートメントの構文に似ている
- HTML構文とは異なる
- テンプレートの型チェックを含め、複数のテンプレートに渡って機能する
- それぞれのユースケースに対してカスタマイズ可能な柔軟な構文(
if
、for
、switch
) - 一般的な問題点への対応
- 既存すべての制御フローを新しい構文に自動的に移行できなければならない
Non Goal:
- ユーザーランドでの制御フロー構文の拡張性
- 他のAngularの概念との組み合わせ