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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tatsubee
December 08, 2023
890
0
Share
Dart Macrosに願いを [YOUTRUST x ゆめみ Flutter LT会@渋谷 #4]
tatsubee
December 08, 2023
More Decks by tatsubee
See All by tatsubee
マルチウィンドウ実践ガイド
shoryuyamamoto
0
270
Create Spatial Photo with ImagePresentationComponent
shoryuyamamoto
0
100
pixivのリアーキテクチャにおける The Composable Architecter活用
shoryuyamamoto
0
200
pixivアプリは変化する
shoryuyamamoto
0
1.1k
マルチウィンドウでアプリケーションの表現を拡張する
shoryuyamamoto
1
380
【After iOSDC LT Night〜ピクシブ×日経×タイミー〜】実装!Interactive Widgets
shoryuyamamoto
0
69
SwiftPM マルチモジュール構成への第一歩
shoryuyamamoto
0
3.3k
TCA with UIKit [TCAでわいわいLT会]
shoryuyamamoto
1
1.4k
riverpodを理解したい
shoryuyamamoto
0
190
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
150
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
810
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
We Are The Robots
honzajavorek
0
230
Rails Girls Zürich Keynote
gr2m
96
14k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
560
AI: The stuff that nobody shows you
jnunemaker
PRO
7
640
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
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