Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
JetpackCompose移行、はじめました
Search
chicken Jr.
August 20, 2024
Programming
620
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JetpackCompose移行、はじめました
DroidKaigi.collect { #11@Sapporo }で発表した資料です。
chicken Jr.
August 20, 2024
More Decks by chicken Jr.
See All by chicken Jr.
Android15のためのEdge-to-edge対応
chickenjr_mi
2
1.9k
はじめてのKotlin Multiplatform
chickenjr_mi
0
770
AndroidエンジニアがDroidKaigiに初参加した話
chickenjr_mi
0
270
Spring Boot × Kotlinを試してみた
chickenjr_mi
0
390
Javaユーザに知ってほしいProcessing入門
chickenjr_mi
0
130
ぬいぐるみと対話するために 音声認識APIを試してみた
chickenjr_mi
3
750
Other Decks in Programming
See All in Programming
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
340
Java 27新機能 / Java 27 new features
kishida
2
200
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
460
自サークルのIdPからログアウトできるようになるまで
taiseiue
0
110
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
330
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
260
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
110
AWSに止められる覚悟してますか?
morizo_1984
2
510
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
230
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
350
APNsからLive Activityを開始する話
yumnumm
0
150
FreeBSDでZabbixを動かす
kenkino
0
360
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
41k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
320
Building the Perfect Custom Keyboard
takai
2
890
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
The Limits of Empathy - UXLibs8
cassininazir
1
700
Thoughts on Productivity
jonyablonski
76
5.4k
Designing for humans not robots
tammielis
254
26k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
New Earth Scene 8
popppiees
4
2.6k
RailsConf 2023
tenderlove
30
1.6k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
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の話はなんでも嬉しいです)
おわり アプリエンジニア募集してます!