Slide 1

Slide 1 text

Presented by 辰べえ 2023.11.04 Presented by 辰べえ Dart Macrosに願いを

Slide 2

Slide 2 text

自己紹介 ● 23新卒 ● 福岡生まれ 福岡育ち 東京在住 ● 最近やっていること ○ お絵描き ○ テニス ○ iOS 辰べえ iOSエンジニア 自己紹介 ● 23新卒 ● 福岡生まれ 福岡育ち 東京在住 ● 最近やっていること ○ お絵描き ○ テニス ○ iOS 辰べえ iOSエンジニア 2

Slide 3

Slide 3 text

build_runner使っていますか? 3

Slide 4

Slide 4 text

build_runnerとは Dartでコードを生成するためのパッケージ build_runnerを活用して作られたパッケージの例 ● json_serializable ● freezed ● openapi_generator などなど 4

Slide 5

Slide 5 text

build_runnerの課題 ● コマンドの実行が必要 _fvm flutter pub run build_runner build –delete-conflicting-outputs_ ○ Hot Reloadの生産性を損ねる ● xxx.g.dartが生成されてしまう ● コマンドを実行してエラーが出るまで構文のミス に気付けない 5

Slide 6

Slide 6 text

課題を解決する(かもしれない) Dartの新機能 → 6

Slide 7

Slide 7 text

7 Dart Macros

Slide 8

Slide 8 text

Dart Macrosとは Dartで議論が進められている言語機能 https://github.com/dart-lang/language/blob/main/working/macros macroアノテーションをつけることで、コンパイル時 に対応したコードを生やすことができる build_runnerでできることが、より快適にできる 8

Slide 9

Slide 9 text

Dart Macrosの存在する未来 9

Slide 10

Slide 10 text

Dart Macrosの存在する未来 ● Hot Reloadするだけでほしいコードが生える ● 自動生成されたコードはいい感じに隠される ○ 見たいときにはコードを表示できる ● 静的解析で構文のミスを見つけられる 10

Slide 11

Slide 11 text

(おまけ1) Swift Macrosの活用例 11

Slide 12

Slide 12 text

12 Swift Macrosの活用例

Slide 13

Slide 13 text

(おまけ2) 宣伝 13

Slide 14

Slide 14 text

より快適なFlutterライフを! 14 [宣伝] Flutter Advent Calendar 9日目

Slide 15

Slide 15 text

より快適なFlutterライフを! 15