Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
cluster_Android_JetpackCompose
Cluster Inc.
March 10, 2022
Technology
0
720
cluster_Android_JetpackCompose
Cluster Inc.
March 10, 2022
Tweet
Share
More Decks by Cluster Inc.
See All by Cluster Inc.
gocon-2022-spring_sponsor-session.pdf
clusterinc
0
930
cluster_SwiftUI
clusterinc
0
760
AvatarMakerを支える技術 / cluster_avatarmaker_engineering
clusterinc
0
1.2k
clusterでLOD対応したときの話 / cluster LOD
clusterinc
0
1.2k
クラスター会社紹介資料 / We are hiring
clusterinc
5
140k
Other Decks in Technology
See All in Technology
私見「UNIXの考え方」/20230124-kameda-unix-phylosophy
opelab
0
160
ユーザーテストガイドライン VERSION 2.0
kouzoukaikaku
0
1.2k
Raspberry Pi Camera 3 介紹
piepie_tw
PRO
0
140
S3とCloudWatch Logsの見直しから始めるコスト削減 / Cost saving S3 and CloudWatch Logs
shonansurvivors
0
230
01_ユーザーリサーチ実施の進め方
kouzoukaikaku
0
350
2022年に起きたフロントエンドの変化
sakito
30
17k
FlexScan HD2452Wの 後継を探して
tring
0
6.2k
Cloudflare Workersで動くOG画像生成器
aiji42
1
490
GraphQLスキーマ設計の勘所
yukukotani
26
6.2k
NGINXENG JP#2 - 3-NGINX Plus・プロダクトのアップデート
hiropo20
0
220
20230121_BuriKaigi
oyakata2438
0
180
230125 古いタブレットの活用 かーでぃさん
comucal
PRO
0
15k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
320
20k
Keith and Marios Guide to Fast Websites
keithpitt
407
21k
Happy Clients
brianwarren
90
5.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
38
3.6k
Scaling GitHub
holman
453
140k
What the flash - Photography Introduction
edds
64
10k
Rebuilding a faster, lazier Slack
samanthasiow
69
7.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
120
29k
WebSockets: Embracing the real-time Web
robhawkes
58
6k
Web Components: a chance to create the future
zenorocha
304
40k
The Invisible Side of Design
smashingmag
292
48k
Building Flexible Design Systems
yeseniaperezcruz
314
35k
Transcript
clusterのAndroidアプリ JetpackCompose導入事例 REALITY Engineer’s Meeting with Cluster @kyokomi
Cluster, Inc. All Rights Reserved. 2 自己紹介 • きょこみ(kyokomi) •
経歴: ◦ clusterに2016年10月Join ◦ 昔はserver開発をメインにインフラみたり Unityやったり、なんでも屋でした ◦ 最近は、Androidアプリ開発をメインにやっ ていきたい • 趣味: ◦ FF14(メインジョブは侍) ◦ 麻雀 / ポーカー/アニメ / RPGゲーム全般 ◦ 好きな漫画は、HxH
Cluster, Inc. All Rights Reserved. 3 おしながき JetpackCompose導入検討中、導入中の方 向けの内容となってます。 •
clusterで導入している箇所の紹介 • 利用しているバージョンの話 • UiStateでのコンポーザブルとのデータのや り取り
4 clusterのアプリで JetpackCompose導入箇所の紹介
Cluster, Inc. All Rights Reserved. 5 TwitterとかのDMチャットする画面 以下などの条件で、リストアイテムの表 示が異なる •
メッセージの種類 • 自分が投稿したか? メッセージ機能
None
Cluster, Inc. All Rights Reserved. 7 ログイン・新規登録画面のリニューアル 名前、アイコン、SNS連携設定のロ グインフロー •
NavHostでの画面切り替え • 背景はLottieでアニメーション
None
Cluster, Inc. All Rights Reserved. 9 ワールドクラフト機能 自分がクラフトしたワールドを管理する機能 • クラフト一覧
• クラフト編集 • クラフト公開 • クラフトメンバー管理画面 • etc…
None
Cluster, Inc. All Rights Reserved. 11 ワールド詳細の一部だけCompose化
Cluster, Inc. All Rights Reserved. 12 RecyclerViewのListItemをCompose化 •
Cluster, Inc. All Rights Reserved. 13 JetpackCompose対応の進捗 • Activity数: 39
• Compose製の画面: 18 • xml内で一部Compose利用: 4 => 約50%くらい
14 JetpackComposeのバージョン について
Cluster, Inc. All Rights Reserved. 15 • 2022/2/12: 1.2.0-alpha02(現在) •
2021/12/16: 1.1.0-rc01 • 2021/10/01: 1.1.0-alpha05 • 2021/7/20: 1.0.0-beta08 • 2021/6/1: 1.0.0-beta07(初回導入時) clusterが利用したバージョン
Cluster, Inc. All Rights Reserved. 16 踏んだバグたち(抜粋) • キーボードがbackキー2回押さないと閉じれない ◦
1.1.0-alpha03で直った • 特定機種のゲーミングモードON時にUIのタップ判定 の位置が大幅にずれる ◦ 1.1.0-alpha05で直った • キーボードのdeleteキー長押しでTextFieldの内容 が削除できない ◦ 1.2.0-alpha02で直った
Cluster, Inc. All Rights Reserved. 17 バージョンアップどうしていくのがいいか? Jetpack ライブラリは Android
OS とは別にリリースされるた め、ライブラリの更新は独立して頻繁に行われます。 アルファ版 • アルファ版リリースは機能的に安定していますが、機能が完 成していないことがあります。 • リリースがアルファ版の間は、API が追加、削除、変更され ることがあります。 参考: https://developer.android.com/jetpack/androidx/versions?hl=ja 公式にはこう書いてある
Cluster, Inc. All Rights Reserved. 18 できるだけ最新バージョンを使っていく 弊社は、できるだけ最新バージョンを使うというルールにしました (以下理由) •
アルファ版の基準に「機能的に安定」との記載があるので、 最新機能を使うときは要注意すれば問題ないはず • composeのバージョンを上げる時にKotlinのバージョンも 上げる必要がでることがある(逆もしかり) • 過去に出たバグが再発したことは今のところなし!!!
Cluster, Inc. All Rights Reserved. 19 • JetpackCompose導入ガンガンやっていくと良い ◦ まずは、新規画面で使ってみる
◦ 慣れてきたら既存画面の改修時に CustomViewのノリで部分的に使う • Composeライブラリのバージョンは、アルファを信 じてガンガン上げていこう まとめ
おわり Androidアプリ開発エンジニア募集中です!