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
Jetpack Compose - DevFest 2019
Search
Raka Adi Nugroho
September 24, 2022
Technology
0
130
Jetpack Compose - DevFest 2019
latepost, jetpack compose GDG DevFest 2019 Yogyakarta
Raka Adi Nugroho
September 24, 2022
Tweet
Share
More Decks by Raka Adi Nugroho
See All by Raka Adi Nugroho
Pemrograman Web - Pertemuan 1
rakaadinugroho
0
21
Leveraging GraphQL with Kotlin Multiplatform
rakaadinugroho
0
38
Security Awareness: Web Development Process
rakaadinugroho
0
34
Open Telemetry in Web Development
rakaadinugroho
0
37
Software Architecture 101
rakaadinugroho
0
56
Coroutine x Retrofit - Android Developer Day
rakaadinugroho
0
880
Other Decks in Technology
See All in Technology
2025年になってもまだMySQLが好き
yoku0825
7
3.2k
TypeScript入門
recruitengineers
PRO
35
11k
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
6
1.6k
PRDの正しい使い方 ~AI時代にも効く思考・対話・成長ツールとして~
techtekt
PRO
0
420
DDD集約とサービスコンテキスト境界との関係性
pandayumi
2
230
20250903_1つのAWSアカウントに複数システムがある環境におけるアクセス制御をABACで実現.pdf
yhana
2
270
異業種出身エンジニアが気づいた、転向して十数年経っても変わらない自分の武器とは
macnekoayu
0
260
バッチ処理で悩むバックエンドエンジニアに捧げるAWS Glue入門
diggymo
3
100
Bye-Bye Query Spaghetti: Write Queries You'll Actually Understand Using Pipelined SQL Syntax
tobiaslampertlotum
0
120
kubellが考える戦略と実行を繋ぐ活用ファーストのデータ分析基盤
kubell_hr
0
130
生成AI時代に必要な価値ある意思決定を育てる「開発プロセス定義」を用いた中期戦略
kakehashi
PRO
1
250
スプリントレトロスペクティブはチーム観察の宝庫? 〜チームの衝突レベルに合わせたアプローチ仮説!〜
electricsatie
1
150
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Being A Developer After 40
akosma
90
590k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Scaling GitHub
holman
463
140k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Transcript
None
JetPack Compose
About Raka Adi Nugroho - Software Engineer Android @Tokopedia -
External Academy Reviewer @Dicoding - Android Developer @PrivyID /rakaadinugroho
JetPack Compose
None
Overview Jetpack Compose Jetpack Compose is a modern toolkit for
building native Android UI. Jetpack Compose simplifies and accelerates UI development on Android with less code, powerful tools, and intuitive Kotlin APIs.
None
History of UI Toolkit
Android Journey
Common Thing Spread across several files - MainActivity.kt / JournalFragment.kt
- fragment_journal.xml - style.xml
Core Concept - Concise and Idiomatic Kotlin - Declarative -
Compatible - Beautiful Apps - Accelerate Development
Concise and Idiomatic Kotlin
Declarative
Declarative Imperative
Compatible
Beautiful Apps
Accelerate Development
Tokopedia UI - Unify
What do we need? - Re-Usable UI Component - Single
source of truth
Hi! Jetpack Compose Future?
Jetpack Compose - Major Components - Compose UI Library -
Compose Compiler
Jetpack Compose - Major Components
Android Studio Support
Layout Preview?
# 1 Data Flow?
Data Flow The declarative nature of Compose and it's UI
components influence how data flows through a Compose application. DATA EVENT
Data Flow - Data Flows Down DATA
Data Flow - Events flow up EVENT
UI as a Tree VS COLUMN JOURNAL ITEM 1 JOURNAL
ITEM N CARD TITLE ABSTRACTION BUTTON
UI as a Tree VS COLUMN JOURNAL ITEM 1 JOURNAL
ITEM N CARD TITLE ABSTRACTION BUTTON
# 2 State Handler
UI as a Function UI=f(s)
State Handler
Existing UI UI Rendering Compose
Demo
- Flexibility - Re-Usability - Reactive Model - Less code
POV : Pros & Cons - Min. API 21 - Layout Params (Padding)
Jetpack Compose build for U & I ?
Quick Recap 1. New Way to Build UI on Android
2. As an Android Developer, you must try
end; https://github.com/rakaadinugroho/ComposePlayground