Dartのコード自動生成の仕組みと、コード自動生成のパッケージを自作する方法について by kosukesaigusa

FlutterKaigi 2023
採択
2023/11/10 15:30〜
⚔️†††開拓者の部屋†††🛡️
レギュラーセッション

Dartのコード自動生成の仕組みと、コード自動生成のパッケージを自作する方法について

KosukeSaigusa kosukesaigusa KosukeSaigusa
11

概要

Flutter/Dart による開発を行う際、json_serializable や freezed に代表されるような、build_runner を用いたコード自動生成パッケージを利用している方は多いのではないでしょうか。

本セッションでは、既存の主なコード自動生成パッケージや、スピーカーが開発中のコード自動生成パッケージ flutterfire_gen を例に挙げながら、Dart のコード自動生成の内部の仕組みや、コード自動生成パッケージの自作方法について解説します。

主な内容:

  • build パッケージによる build_runner と連携するビルドタスクの定義について
  • source_gen パッケージが提供するコード自動生成の仕組みと、コード自動生成を容易にする各種機能について
  • analyzer パッケージによるコード自動生成の対象となる Dart のソースコードの静的解析について
  • dart_style パッケージによる生成されたコードの整形について
  • 上記の説明を踏まえた、json_serializable や freezed のようなパッケージの内部の解説や、自動コード生成パッケージの作り方について

想定視聴者

  • 普段使用しているコード自動生成の仕組みの中身を知りたい方
  • コード自動生成パッケージを自作したい方