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
20210621-mftd-GoogleIORecap-Namazu
Search
Namazu
June 21, 2021
Technology
0
320
20210621-mftd-GoogleIORecap-Namazu
Namazu
June 21, 2021
Tweet
Share
Other Decks in Technology
See All in Technology
A Gentle Introduction to Transformers
keio_smilab
PRO
2
1k
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
3
1.7k
Claude Codeの進化と各機能の活かし方
oikon48
21
12k
Shifting from MCP to Skills / ベストプラクティスの変遷を辿る
yamanoku
4
790
堅牢.py#2 LT資料
t3tra
0
130
S3はフラットである –AWS公式SDKにも存在した、 署名付きURLにおけるパストラバーサル脆弱性– / JAWS DAYS 2026
flatt_security
0
1.7k
生成AIの利用とセキュリティ /gen-ai-and-security
mizutani
1
1.6k
決済サービスを支えるElastic Cloud - Elastic Cloudの導入と推進、決済サービスのObservability
suzukij
2
590
「ストレッチゾーンに挑戦し続ける」ことって難しくないですか? メンバーの持続的成長を支えるEMの環境設計
sansantech
PRO
3
630
情シスのための生成AI実践ガイド2026 / Generative AI Practical Guide for Business Technology 2026
glidenote
0
190
SRE NEXT 2026 CfP レビュアーが語る聞きたくなるプロポーザルとは?
yutakawasaki0911
0
230
OCI Security サービス 概要
oracle4engineer
PRO
2
13k
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
190
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
51k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
120
Abbi's Birthday
coloredviolet
2
5.3k
Skip the Path - Find Your Career Trail
mkilby
1
75
The Curse of the Amulet
leimatthew05
1
9.8k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
190
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
210
Transcript
© 2021 eureka, Inc. All Rights Reserved. 初めての Jetpack Compose
【3社合同】Money Forward Tech Drive - #IO21 Recap 2021.6.21 Namazu @eureka
© 2021 eureka, Inc. All Rights Reserved. 自己紹介 • Namazu
• 2021年新卒Androidエンジニア • BlondeNamazu • @blonde_namazu
© 2021 eureka, Inc. All Rights Reserved.
4 © 2021 eureka, Inc. All Rights Reserved. CONFIDENTIAL INFORMATION:
Not for Public Distribution - Do Not Copy All Hands Meeting コミュニティチャット © 2021 eureka, Inc. All Rights Reserved. 新機能
5 © 2021 eureka, Inc. All Rights Reserved. CONFIDENTIAL INFORMATION:
Not for Public Distribution - Do Not Copy All Hands Meeting • Jetpack Composeとは? • Jetpack Compose移行のメリット • Jetpack Compose移行のコスト • まとめ 目次 © 2021 eureka, Inc. All Rights Reserved.
6 © 2021 eureka, Inc. All Rights Reserved. CONFIDENTIAL INFORMATION:
Not for Public Distribution - Do Not Copy All Hands Meeting Jetpack Composeとは? © 2021 eureka, Inc. All Rights Reserved.
© 2021 eureka, Inc. All Rights Reserved. Jetpack Composeとは? •
Googleが提供する宣言的UIツールキット • 既存のxmlベースのViewシステムの代替となる • 2021年7月に1.0 (stable) 配信予定! • 既に導入している企業も多数
© 2021 eureka, Inc. All Rights Reserved. Jetpack Composeとは? •
Jetpack Composeの例
© 2021 eureka, Inc. All Rights Reserved. Jetpack Composeとは? •
Jetpack Composeの例
10 © 2021 eureka, Inc. All Rights Reserved. CONFIDENTIAL INFORMATION:
Not for Public Distribution - Do Not Copy All Hands Meeting Jetpack Compose移行のメリット © 2021 eureka, Inc. All Rights Reserved.
© 2021 eureka, Inc. All Rights Reserved. Jetpack Compose移行のメリット 宣言的UI
SSOT デザインツール Compose Preview Sample Data Interactive Preview Live literals その他 Theming Fast Rendering Animation Preview
© 2021 eureka, Inc. All Rights Reserved. Jetpack Compose移行のメリット:宣言的UI 宣言的UI
SSOT デザインツール Compose Preview Sample Data Interactive Preview Live literals その他 Theming Fast Rendering Animation Preview
© 2021 eureka, Inc. All Rights Reserved. • 宣言的UIとは何か? ◦
“Single source of truth”に従う ◦ 与えられた状態に対してのみ依存し、一意に振る舞いが定まるUI ◦ 既存のxmlベースのViewシステムのような、状態に対応したUIの生成方法を記 述する手法とは異なる Jetpack Compose移行のメリット:宣言的UI
© 2021 eureka, Inc. All Rights Reserved. • 各Viewが状態を持ち、コードでそれぞれ更新していく仕組みは複雑 Jetpack
Compose移行のメリット:宣言的UI
© 2021 eureka, Inc. All Rights Reserved. • 宣言的UIではUIは与えられた状態に対して不変なViewを生成する Jetpack
Compose移行のメリット:宣言的UI
© 2021 eureka, Inc. All Rights Reserved. • Jetpack Composeの利点:表示ロジックのカプセル化
◦ Compose関数の中身に外部から アクセスすることは出来ない ◦ 意図しないUIのバグを未然に防ぐ Jetpack Compose移行のメリット:宣言的UI
© 2021 eureka, Inc. All Rights Reserved. Jetpack Compose移行のメリット:デザインツール 宣言的UI
SSOT デザインツール Compose Preview Sample Data Interactive Preview Live literals その他 Theming Fast Rendering Animation Preview
© 2021 eureka, Inc. All Rights Reserved. Compose Preview •
UIパーツ単位でプレビュー出来る • @Preview を付けるだけ! • 同時に様々なパターンをプレビューす ることが可能 ex) Light Theme / Dark Theme スクリーン全体 / UI単体 Jetpack Compose移行のメリット:デザインツール
© 2021 eureka, Inc. All Rights Reserved. Compose Preview •
UIパーツ単位でプレビュー出来る • @Preview を付けるだけ! • 同時に様々なパターンをプレビューす ることが可能 ex) Light Theme / Dark Theme スクリーン全体 / UI単体 Jetpack Compose移行のメリット:デザインツール
© 2021 eureka, Inc. All Rights Reserved. Jetpack Compose移行のメリット:デザインツール Sample
Data • UIに与える状態について様々なパター ンを同時に検証可能 ex) リストのデータ数 0/少/多 文字列長 0/短/長
© 2021 eureka, Inc. All Rights Reserved. Sample Data Jetpack
Compose移行のメリット:デザインツール • UIに与える状態について様々なパター ンを同時に検証可能 ex) リストのデータ数 0/少/多 文字列長 0/短/長
© 2021 eureka, Inc. All Rights Reserved. Interactive Preview Jetpack
Compose移行のメリット:デザインツール • プレビュー画面でユーザー操作に対応 するUIの挙動を確認可能
© 2021 eureka, Inc. All Rights Reserved. Live literals Jetpack
Compose移行のメリット:デザインツール • リテラルの変更を即座にプレビューに 反映 ex) テキスト、数値、色、etc…
© 2021 eureka, Inc. All Rights Reserved. Jetpack Compose移行のメリット:その他 宣言的UI
SSOT デザインツール Compose Preview Sample Data Interactive Preview Live literals その他 Theming Fast Rendering Animation Preview
© 2021 eureka, Inc. All Rights Reserved. • Material Designに基づくアプリ独自のテーマ
• ネストされたUIの描画パフォーマンスの向上 • アニメーションサポートの強化 Jetpack Compose移行のメリット:その他
26 © 2021 eureka, Inc. All Rights Reserved. CONFIDENTIAL INFORMATION:
Not for Public Distribution - Do Not Copy All Hands Meeting Jetpack Compose移行のコスト © 2021 eureka, Inc. All Rights Reserved.
© 2021 eureka, Inc. All Rights Reserved. Jetpack Compose移行のコスト xmlベースのViewシステムと共存可能なので、徐々に移行できる!
© 2021 eureka, Inc. All Rights Reserved. Jetpack Compose移行のコスト Compose
in XML, XML in Composeのどちらも可能!
29 © 2021 eureka, Inc. All Rights Reserved. CONFIDENTIAL INFORMATION:
Not for Public Distribution - Do Not Copy All Hands Meeting まとめ © 2021 eureka, Inc. All Rights Reserved.
© 2021 eureka, Inc. All Rights Reserved. まとめ • Jetpack
Composeとは宣言的UIツールキットである • Jetpack Compose移行のメリットは多数! ◦ 宣言的UIの実現 ◦ デザインツールのサポートが強力 ◦ テーマの一貫性が保てる • Jetpack ComposeはxmlベースのViewシステムと 共存可能なので、徐々に移行可能!
© 2021 eureka, Inc. All Rights Reserved. 関連セッション
32 © 2021 eureka, Inc. All Rights Reserved. CONFIDENTIAL INFORMATION:
Not for Public Distribution - Do Not Copy All Hands Meeting 関連セッション © 2021 eureka, Inc. All Rights Reserved.
© 2021 eureka, Inc. All Rights Reserved. 関連セッション What’s new
in Jetpack Compose • Jetpack Composeの概要を16分で説明 • まずはこれを見るのがオススメ
© 2021 eureka, Inc. All Rights Reserved. 関連セッション • Jetpack
Composeの基本的な使い方を 教えてくれるWorkShop • 50分あるが、非常に分かりやすい Jetpack Basics
© 2021 eureka, Inc. All Rights Reserved. 関連セッション • 既存のJetpackライブラリとComposeの
組み合わせ方を説明 • Composeのベストプラクティスにも触れて いるので、実用に役立ちそう Using Jetpack Libraries in Compose
© 2021 eureka, Inc. All Rights Reserved. 関連セッション • セッション後半でJetpack
Composeのデ ザインツールについて説明 • 前半の内容はComposeに関係ないが、 アニメーションに関してのアップデートも面 白かったので余裕があれば是非 What’s new in design tools
© 2021 eureka, Inc. All Rights Reserved. 関連セッション • Jetpack
Compose中でマテリアルデザイ ンを用いる方法の説明 • デザイナーの参考にもなりそう Build beautiful Material Design apps with Jetpack Compose