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
22
Leveraging GraphQL with Kotlin Multiplatform
rakaadinugroho
0
46
Security Awareness: Web Development Process
rakaadinugroho
0
38
Open Telemetry in Web Development
rakaadinugroho
0
42
Software Architecture 101
rakaadinugroho
0
64
Coroutine x Retrofit - Android Developer Day
rakaadinugroho
0
900
Other Decks in Technology
See All in Technology
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.3k
AI駆動PjMの理想像 と現在地 -実践例を添えて-
masahiro_okamura
1
110
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
130
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
540
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
140
MCPでつなぐElasticsearchとLLM - 深夜の障害対応を楽にしたい / Bridging Elasticsearch and LLMs with MCP
sashimimochi
0
170
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
190
What happened to RubyGems and what can we learn?
mikemcquaid
0
300
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.7k
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
The Spectacular Lies of Maps
axbom
PRO
1
520
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
180
A Soul's Torment
seathinner
5
2.3k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Crafting Experiences
bethany
1
49
Navigating Team Friction
lara
192
16k
It's Worth the Effort
3n
188
29k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
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