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
46
Security Awareness: Web Development Process
rakaadinugroho
0
34
Open Telemetry in Web Development
rakaadinugroho
0
39
Software Architecture 101
rakaadinugroho
0
62
Coroutine x Retrofit - Android Developer Day
rakaadinugroho
0
890
Other Decks in Technology
See All in Technology
QA業務を変える(!?)AIを併用した不具合分析の実践
ma2ri
0
160
DSPy入門
tomehirata
4
500
20251029_Cursor Meetup Tokyo #02_MK_「あなたのAI、私のシェル」 - プロンプトインジェクションによるエージェントのハイジャック
mk0721
PRO
5
1.9k
re:Invent 2025の見どころと便利アイテムをご紹介 / Highlights and Useful Items for re:Invent 2025
yuj1osm
0
340
JAWS UG AI/ML #32 Amazon BedrockモデルのライフサイクルとEOL対応/How Amazon Bedrock Model Lifecycle Works
quiver
1
110
入院医療費算定業務をAIで支援する:包括医療費支払い制度とDPCコーディング (公開版)
hagino3000
0
120
[re:Inent2025事前勉強会(有志で開催)] re:Inventで見つけた人生をちょっと変えるコツ
sh_fk2
1
940
SREのキャリアから経営に近づく - Enterprise Risk Managementを基に -
shonansurvivors
0
250
JSConf JPのwebsiteをGatsbyからNext.jsに移行した話 - Next.jsの多言語静的サイトと課題
leko
2
190
AIエージェントによる業務効率化への飽くなき挑戦-AWS上の実開発事例から学んだ効果、現実そしてギャップ-
nasuvitz
5
1.4k
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
230
書籍『実践 Apache Iceberg』の歩き方
ishikawa_satoru
0
230
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Language of Interfaces
destraynor
162
25k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Producing Creativity
orderedlist
PRO
348
40k
Raft: Consensus for Rubyists
vanstee
140
7.2k
For a Future-Friendly Web
brad_frost
180
10k
How to train your dragon (web standard)
notwaldorf
97
6.3k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
Context Engineering - Making Every Token Count
addyosmani
8
310
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