Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dart Macrosに願いを [YOUTRUST x ゆめみ Flutter LT会@渋谷 #4]
Search
tatsubee
December 08, 2023
0
810
Dart Macrosに願いを [YOUTRUST x ゆめみ Flutter LT会@渋谷 #4]
tatsubee
December 08, 2023
Tweet
Share
More Decks by tatsubee
See All by tatsubee
マルチウィンドウ実践ガイド
shoryuyamamoto
0
93
Create Spatial Photo with ImagePresentationComponent
shoryuyamamoto
0
49
pixivのリアーキテクチャにおける The Composable Architecter活用
shoryuyamamoto
0
150
pixivアプリは変化する
shoryuyamamoto
0
900
マルチウィンドウでアプリケーションの表現を拡張する
shoryuyamamoto
1
280
【After iOSDC LT Night〜ピクシブ×日経×タイミー〜】実装!Interactive Widgets
shoryuyamamoto
0
39
SwiftPM マルチモジュール構成への第一歩
shoryuyamamoto
0
2.7k
TCA with UIKit [TCAでわいわいLT会]
shoryuyamamoto
1
1.2k
riverpodを理解したい
shoryuyamamoto
0
130
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Designing for humans not robots
tammielis
254
25k
Balancing Empowerment & Direction
lara
4
680
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Designing for Performance
lara
610
69k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Practical Orchestrator
shlominoach
190
11k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Transcript
Presented by 辰べえ 2023.11.04 Presented by 辰べえ Dart Macrosに願いを
自己紹介 • 23新卒 • 福岡生まれ 福岡育ち 東京在住 • 最近やっていること ◦
お絵描き ◦ テニス ◦ iOS 辰べえ iOSエンジニア 自己紹介 • 23新卒 • 福岡生まれ 福岡育ち 東京在住 • 最近やっていること ◦ お絵描き ◦ テニス ◦ iOS 辰べえ iOSエンジニア 2
build_runner使っていますか? 3
build_runnerとは Dartでコードを生成するためのパッケージ build_runnerを活用して作られたパッケージの例 • json_serializable • freezed • openapi_generator などなど 4
build_runnerの課題 • コマンドの実行が必要 _fvm flutter pub run build_runner build –delete-conflicting-outputs_
◦ Hot Reloadの生産性を損ねる • xxx.g.dartが生成されてしまう • コマンドを実行してエラーが出るまで構文のミス に気付けない 5
課題を解決する(かもしれない) Dartの新機能 → 6
7 Dart Macros
Dart Macrosとは Dartで議論が進められている言語機能 https://github.com/dart-lang/language/blob/main/working/macros macroアノテーションをつけることで、コンパイル時 に対応したコードを生やすことができる build_runnerでできることが、より快適にできる 8
Dart Macrosの存在する未来 9
Dart Macrosの存在する未来 • Hot Reloadするだけでほしいコードが生える • 自動生成されたコードはいい感じに隠される ◦ 見たいときにはコードを表示できる •
静的解析で構文のミスを見つけられる 10
(おまけ1) Swift Macrosの活用例 11
12 Swift Macrosの活用例
(おまけ2) 宣伝 13
より快適なFlutterライフを! 14 [宣伝] Flutter Advent Calendar 9日目
より快適なFlutterライフを! 15