$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
JetpackCompose移行、はじめました
Search
chicken Jr.
August 20, 2024
Programming
0
530
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
2
1.6k
はじめてのKotlin Multiplatform
chickenjr_mi
0
410
AndroidエンジニアがDroidKaigiに初参加した話
chickenjr_mi
0
220
Spring Boot × Kotlinを試してみた
chickenjr_mi
0
350
Javaユーザに知ってほしいProcessing入門
chickenjr_mi
0
110
ぬいぐるみと対話するために 音声認識APIを試してみた
chickenjr_mi
3
630
Other Decks in Programming
See All in Programming
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
120
Developing static sites with Ruby
okuramasafumi
0
260
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
6
2.1k
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
3k
社内オペレーション改善のためのTypeScript / TSKaigi Hokuriku 2025
dachi023
1
580
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
160
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
26
22k
sbt 2
xuwei_k
0
270
STYLE
koic
0
170
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
200
Go コードベースの構成と AI コンテキスト定義
andpad
0
120
dnx で実行できるコマンド、作ってみました
tomohisa
0
140
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Agile that works and the tools we love
rasmusluckow
331
21k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
Thoughts on Productivity
jonyablonski
73
5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Six Lessons from altMBA
skipperchong
29
4.1k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
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の話はなんでも嬉しいです)
おわり アプリエンジニア募集してます!