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
JetpackCompose移行、はじめました
Search
chicken Jr.
August 20, 2024
Programming
0
510
JetpackCompose移行、はじめました
DroidKaigi.collect { #11@Sapporo }で発表した資料です。
chicken Jr.
August 20, 2024
Tweet
Share
More Decks by chicken Jr.
See All by chicken Jr.
Android15のためのEdge-to-edge対応
chickenjr_mi
1
1.5k
はじめてのKotlin Multiplatform
chickenjr_mi
0
370
AndroidエンジニアがDroidKaigiに初参加した話
chickenjr_mi
0
210
Spring Boot × Kotlinを試してみた
chickenjr_mi
0
350
Javaユーザに知ってほしいProcessing入門
chickenjr_mi
0
100
ぬいぐるみと対話するために 音声認識APIを試してみた
chickenjr_mi
3
600
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
410
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
1
450
複雑なドメインに挑む.pdf
yukisakai1225
5
1.2k
旅行プランAIエージェント開発の裏側
ippo012
2
920
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
530
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
400
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
440
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
560
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
140
Navigation 2 を 3 に移行する(予定)ためにやったこと
yokomii
0
340
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
510
AIでLINEスタンプを作ってみた
eycjur
1
230
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Become a Pro
speakerdeck
PRO
29
5.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Unsuck your backbone
ammeep
671
58k
Being A Developer After 40
akosma
90
590k
Fireside Chat
paigeccino
39
3.6k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
GitHub's CSS Performance
jonrohan
1032
460k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Why Our Code Smells
bkeepers
PRO
339
57k
The Cult of Friendly URLs
andyhume
79
6.6k
Transcript
JetpackCompose移⾏、 はじめました 2024/08/18 DroidKaigi.collect { #11@Sapporo } トリ(chicken05)
トリ(chicken05) ⿃モチーフのものが好きです(焼き⿃も好きです) • note株式会社 / Androidエンジニア • Javaユーザーグループ北海道(JavaDo) スタッフ
会社で JetpackCompose 移⾏、はじめました • 進め⽅はずっと⼿探り • 今⽇はこんな流れで進めています!という⼀例を 話します
JetpackCompose移⾏の流れ
2023年11-12⽉にやったこと 移⾏⽅針の検討 - 各メンバーでシンプルな画⾯を試しに移⾏ - 相互レビュー ↔ 調整の繰り返しでブラッシュアップ - MVP
から公式アーキテクチャ(MVVM etc..)への移⾏
2023年11-12⽉にやったこと カスタムテーマ実装 - プロダクトのシステムカラーとMaterial3が相性悪いので Colorはフルカスタムで - Typography や Shapes は拡張関数を増やす⽅針
2024年1-2⽉にやったこと ⼀覧画⾯の⼀部移⾏ - もう少し複雑な画⾯(アクセス少なめ)で移⾏してみる - Tab + Pager + LazyColumn構成の画⾯など
2024年1-2⽉にやったこと Composableカスタマイズ - Composableを組み合わせてUIを作る - カスタムDialog、リンク‧画像付きテキストなど
2024年3⽉にやったこと 画⾯単位から、コンポーネント単位で作成する ⽅針にシフト - マージコンフリクトを避ける - 無⽤なdiffを増やさない - メンバー参⼊時に共有しやすいように
2024年4-5⽉にやったこと 新規画⾯をJetpackComposeで実装 - ⼀部タブ切り替えの新規FragmentをJetpackComposeで - 完全新規画⾯ではAndroidViewでの実装を試した
2024年4-5⽉にやったこと コンポーネント単位の実装が70%完了 - スプレッドシートで進捗管理 - PRではできる限りコメントを書いてメンバーに知⾒共有
2024年6-7⽉にやったこと NavigationComposeの⼀部導⼊ - 公式の実装を参考に試した(拡張関数を作る) - TypeSafe対応はStable版への反映待ち
2024年6-7⽉にやったこと 画像ライブラリCoilの導⼊ - KotlinファーストでJetpackComposeでも使いやすい - glideからの移⾏は簡単だった
2024年8⽉にやっていること アクセスが多い画⾯の移⾏ - 現⾏の実装だと悩みのある画⾯の改善
2024年8⽉にやっていること パフォーマンス計測の準備 - Macrobenchmarkの導⼊とテスト作成
2024年8⽉にやっていること コンポーネント、もうすぐ90%実装完了 - ⼀覧のRowコンポーネントが数件残っている
ふりかえり:やってよかったこと Good!! コンポーネント単位で実装のほうが楽だった - コンポーネントごとにファイルを分けたので管理が楽 - フルカスタムのカラーシステムなので修正が楽 - UIパーツのComposeMultiplatform化を試しやすかった
ふりかえり:やれたらよかったこと Bad... パフォーマンス計測できていない - 元々⽂化がなさそうなので整備が必要 - 移⾏前後での計測、実装のチューニングなど
皆さんはどんな進め⽅をした or していますか? 移⾏の話に限らず、 JetpackComposeの話ができたら嬉しいです (Androidの話はなんでも嬉しいです)
おわり アプリエンジニア募集してます!