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
740
Dart Macrosに願いを [YOUTRUST x ゆめみ Flutter LT会@渋谷 #4]
tatsubee
December 08, 2023
Tweet
Share
More Decks by tatsubee
See All by tatsubee
pixivのリアーキテクチャにおける The Composable Architecter活用
shoryuyamamoto
0
120
pixivアプリは変化する
shoryuyamamoto
0
690
マルチウィンドウでアプリケーションの表現を拡張する
shoryuyamamoto
1
220
【After iOSDC LT Night〜ピクシブ×日経×タイミー〜】実装!Interactive Widgets
shoryuyamamoto
0
22
SwiftPM マルチモジュール構成への第一歩
shoryuyamamoto
0
2.4k
TCA with UIKit [TCAでわいわいLT会]
shoryuyamamoto
1
1.1k
riverpodを理解したい
shoryuyamamoto
0
97
pixiv-iosを破壊したい #pixivmeetup
shoryuyamamoto
0
1.5k
キャッチアップ!The Composable Architecture
shoryuyamamoto
2
400
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
49
7.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Java REST API Framework Comparison - PWX 2021
mraible
30
8.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.6k
It's Worth the Effort
3n
184
28k
The Pragmatic Product Professional
lauravandoore
33
6.5k
Agile that works and the tools we love
rasmusluckow
328
21k
Documentation Writing (for coders)
carmenintech
69
4.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
660
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
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