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
cluster_Android_JetpackCompose
Search
Cluster, Inc.
March 10, 2022
Technology
0
1.1k
cluster_Android_JetpackCompose
Cluster, Inc.
March 10, 2022
Tweet
Share
More Decks by Cluster, Inc.
See All by Cluster, Inc.
クラスター株式会社紹介資料 / Company Deck
clusterinc
0
110
iOSDC2023_Cluster
clusterinc
1
2.5k
Cluster_Extended Tokyo_WWDC 2023
clusterinc
0
3.6k
2023-05-24_Qiita_Night_AWS_vol.2_Cluster
clusterinc
0
460
gocon-2022-spring_sponsor-session.pdf
clusterinc
0
1.5k
cluster_SwiftUI
clusterinc
0
1.1k
AvatarMakerを支える技術 / cluster_avatarmaker_engineering
clusterinc
0
1.7k
clusterでLOD対応したときの話 / cluster LOD
clusterinc
0
1.9k
クラスター株式会社紹介資料 / Company Deck
clusterinc
5
340k
Other Decks in Technology
See All in Technology
事業状況で変化する最適解。進化し続ける開発組織とアーキテクチャ
caddi_eng
1
1.2k
Kubernetesと共にふりかえる! エンタープライズシステムのインフラ設計・テストの進め方大全
daitak
0
400
[mercari GEARS 2025] なぜメルカリはノーコードを選ばなかったのか? 社内問い合わせ工数を60%削減したLLM活用の裏側
mercari
PRO
0
140
国産クラウドを支える設計とチームの変遷 “技術・組織・ミッション”
kazeburo
3
2.7k
Javaコミュニティの歩き方 ~参加から貢献まで、すべて教えます~
tabatad
0
130
Building AI Applications with Java, LLMs, and Spring AI
thomasvitale
1
200
身近なCSVを活用する!AWSのデータ分析基盤アーキテクチャ
koosun
0
1.9k
Axon Frameworkのイベントストアを独自拡張した話
zozotech
PRO
0
200
プロジェクトの空気を読んで開発してくれるPerlのAIツールがほしい
kfly8
2
100
セマンティックHTMLによる アクセシビリティ品質向上の基礎
zozotech
PRO
0
120
グローバルなコンパウンド戦略を支えるモジュラーモノリスとドメイン駆動設計
kawauso
2
2.8k
Post-AIコーディング時代のエンジニア生存戦略
shinoyu
0
300
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
A Modern Web Designer's Workflow
chriscoyier
697
190k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Practical Orchestrator
shlominoach
190
11k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Facilitating Awesome Meetings
lara
57
6.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Navigating Team Friction
lara
190
15k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
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アプリ開発エンジニア募集中です!