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
cluster_Android_JetpackCompose
Search
Cluster, Inc.
March 10, 2022
Technology
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
cluster_Android_JetpackCompose
Cluster, Inc.
March 10, 2022
More Decks by Cluster, Inc.
See All by Cluster, Inc.
iOSDC2023_Cluster
clusterinc
1
2.8k
Cluster_Extended Tokyo_WWDC 2023
clusterinc
0
4k
2023-05-24_Qiita_Night_AWS_vol.2_Cluster
clusterinc
0
570
gocon-2022-spring_sponsor-session.pdf
clusterinc
0
1.6k
cluster_SwiftUI
clusterinc
0
1.2k
AvatarMakerを支える技術 / cluster_avatarmaker_engineering
clusterinc
0
1.8k
clusterでLOD対応したときの話 / cluster LOD
clusterinc
0
2.1k
クラスター株式会社紹介資料 / Company Deck
clusterinc
5
340k
Other Decks in Technology
See All in Technology
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
140
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.4k
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
150
Kiro Crewをはじめよう
kizawa2020
1
160
go-sqletch
moznion
0
140
パッチ更新でterraform initが落ちた日
grimoh
1
140
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
4
1.1k
Rust で関数型ドメインモデリング
takonda
0
140
Running Kotlin + Quarkus with Lambda
nealle
1
3.7k
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
200
今さら理解するウェブフォントver.2026
takanorip
3
770
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
23k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
560
Rails Girls Zürich Keynote
gr2m
96
14k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
580
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
570
The Language of Interfaces
destraynor
162
27k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
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アプリ開発エンジニア募集中です!