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
https://github.com/angular/angular/discussions/50719

かっこかっこ

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構文とは異なる
  • テンプレートの型チェックを含め、複数のテンプレートに渡って機能する
  • それぞれのユースケースに対してカスタマイズ可能な柔軟な構文( ifforswitch )
  • 一般的な問題点への対応
  • 既存すべての制御フローを新しい構文に自動的に移行できなければならない

Non Goal:

  • ユーザーランドでの制御フロー構文の拡張性
  • 他のAngularの概念との組み合わせ