$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DevFest Uyo—Jetpack compose: Game changer for b...
Search
Love
November 13, 2021
Programming
0
150
DevFest Uyo—Jetpack compose: Game changer for building Modern Android UI
Love
November 13, 2021
Tweet
Share
More Decks by Love
See All by Love
Introduction to Kotlin Multiplatform: Write Once, Run Everywhere
lamouresparus
0
310
Override Kotlin Property Getters and Setters
lamouresparus
0
89
Get started with the Gemini API in Android apps (client SDK)
lamouresparus
1
270
Code Surgery: Refactoring for a Healthy App
lamouresparus
0
36
Information gathering
lamouresparus
0
62
Code Surgery: Refactoring for a Healthy App
lamouresparus
0
74
Managing Technical Writing Projects
lamouresparus
0
100
DEVFEST BANJUL 2023: "Relay: The Future of Design to Code Workflows"
lamouresparus
0
160
WTM Aba Breakfast: Tech Career: Reaching Goals and Gaining Experiences
lamouresparus
0
74
Other Decks in Programming
See All in Programming
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
100
Github Copilotのチャット履歴ビューワーを作りました~WPF、dotnet10もあるよ~ #clrh111
katsuyuzu
0
120
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
550
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
110
Python札幌 LT資料
t3tra
6
990
tparseでgo testの出力を見やすくする
utgwkk
2
260
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
2
420
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
910
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
130
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
150
Cell-Based Architecture
larchanjo
0
140
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
140
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
28
Visualization
eitanlees
150
16k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
31
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
How STYLIGHT went responsive
nonsquared
100
6k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
47
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
240
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
510
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
23
Transcript
Jetpack Compose: Game changer for building Modern Android UI Love
Sparus O’tudor Android Engineer, FrontendLabs Uyo
What is Jetpack Compose? Holla Jetty Packy😊
Jetpack Compose is a modern declarative UI Toolkit to simplify
and accelerate native Android UI development.
What ever happened to our famous XML?🤔
Different Languages 30+ thousands lines of code Cognitive Overhead Multiple
Files Deprecated Code Boilerplate Codes Multiple layers of inheritance Problems with the Traditional View System
UI logic and definition are completely Separate Uses XML Satic
Layout Definition Kotlin/Java Dynamic Logic & Behaviour Completely Separate Generates a lot of boilerplate codes
A Quick Look at Jetpack Compose
Jetpack Compose favours Composition over Inheritance is a Human has
a Composition Inheritance
Declarative UI Focus on the “WHAT” and not the “HOW”
Jetpack Compose is a function of State Anytime the “state“
changes the “compose UI” changes also.
@Preview @Composable setContent{} Compose Preview Material Theme
Composable Functions • Annotated with @Composable • @Composable informs the
compiler that the function is intended to convert data into UI. • Can accept parameters • Returns nothing
Composable Functions
“Composable functions can only be called in the context of
another compose function...”
setContent{} • The setContent block defines the activity's layout where
we call composable functions. • The content becomes the root view of the activity. • More like setContentView() in XML.
setContent{}
Material Theme • An implementation of Material Design. • Define
the applications theme with its respective colors, shapes, font, etc. • Can be customized. • Mostly the root element of the screen.
Material Theme
Modifier • An ordered, immutable collection of modifier elements that
decorate or add behavior to Compose UI elements. • Modifiers can be chained. • Their chaining order is important.
Modifier
Layouts Column Row Box Constraint Layout
Column
Row
Box
Say Goodbye to RecyclerView Welcome LazyRow and LazyColumn 🤩
Managing Lists In Compose • Compose makes it easy to
create lists. • These composables render only the elements that are visible on screen.
LazyRow A LazyRow is a horizontally scrolling list that only
composes and lays out the currently visible items.
LazyColumn A LazyColumn is a vertically scrolling list.
LazyVerticalGrid • A LazyColumn is a vertically scrolling grid. •
It accepts the number of grid items in one row or the minimum width of one item. • Unstable API.
LazyVerticalGrid
More Components • Button • Image • Icons, etc.
Ready to take a deep dive?
Additional Resources • Jetpack Compose Tutorial on developer.android • Jetpack
Compose basics Codelab • Under the hood of Jetpack Compose • Get started with Jetpack Compose • Jetpack Compose basics | Workshop
Questions?
Thank You!