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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
23
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
プロポーザルに込める段取り八分
shoheimitani
1
250
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
5
5.5k
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
230
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
230
Tebiki Engineering Team Deck
tebiki
0
24k
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
660
AI駆動PjMの理想像 と現在地 -実践例を添えて-
masahiro_okamura
1
110
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1.4k
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
280
OpenShiftでllm-dを動かそう!
jpishikawa
0
110
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
930
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
82
Agile that works and the tools we love
rasmusluckow
331
21k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
260
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
A Soul's Torment
seathinner
5
2.3k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
62
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
140
Designing for humans not robots
tammielis
254
26k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
Facilitating Awesome Meetings
lara
57
6.8k
Leo the Paperboy
mayatellez
4
1.4k
GraphQLとの向き合い方2022年版
quramy
50
14k
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