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
The New Era of Android Development - IDCamp x K...
Search
Ahmad Arif Faizin
May 28, 2023
Programming
85
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The New Era of Android Development - IDCamp x Kadin 2023
Presented for Offline Training Android Dev @Medan
Ahmad Arif Faizin
May 28, 2023
More Decks by Ahmad Arif Faizin
See All by Ahmad Arif Faizin
Designing User-Friendly Interfaces: Bridging UI/UX and Basic Programming
arifaizin
0
63
Potong 10 Jam Kerja Repetitif Per Minggu. Tanpa Coding.
arifaizin
0
15
Recap by AI: Mengembalikan Waktu Produktif Tim
arifaizin
0
11
Proposal Ramadhan Habit Challenge 2026
arifaizin
0
11
Memulai Karier Sebagai Data Scientist
arifaizin
0
15
Kunci Sukses Menjadi Full Stack Developer
arifaizin
0
14
Certification Exam Prep AI-102: Microsoft Azure AI Engineer Associate elevAIte 2025
arifaizin
0
9
Dicoding Ramadhan Challenge 2025
arifaizin
0
13
Mental Model untuk Memahami Orang Lain
arifaizin
0
170
Other Decks in Programming
See All in Programming
「人を評価する AI」の設計と実装
ryoyanara
0
260
Introducing Stack Pull Request in GitHub
kkamegawa
0
110
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
120
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.3k
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
240
FastAPI の並行処理モデルを完全に理解する
hoto17296
8
3.2k
Dockerfile CMD for Node.js
grazie1999
0
140
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
530
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
190
VibeCodingからAgenticWorkflowへ
starfish719
0
940
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
790
Loosening the Reins: Go Generics Get More Flexible
kuro_kurorrr
0
350
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
3
3.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
370
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
The untapped power of vector embeddings
frankvandijk
2
1.8k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Product Roadmaps are Hard
iamctodd
55
12k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
Transcript
The New Era of Android Development Ahmad Arif Faizin Curriculum
Developer
None
None
Android Studio
Android Studio Bot 🤖
Device Mirroring 🪞 • File > Settings > Tools >
Device Mirroring • Enable mirroring of physical Android devices. • Bye bye Visor~
App Quality Insights 🪲
New UI 😎
Kotlin
None
Explicit Fields ✨
Kotlin DSL 🪶 • All in one language • More
readable • Better compile-time checking
Hints & Documentation 💖
Version Catalog 📖 // build.gradle.kts plugins { alias(libs.plugins.com.android.application) alias(libs.plugins.org.jetbrains.kotlin.android) id("com.google.devtools.ksp")
} ... dependencies { implementation(libs.core.ktx) implementation(libs.appcompat) } // libs.version.toml [versions] com-android-application = "8.1.0-alpha11" org-jetbrains-kotlin-android = "1.8.0" core-ktx = "1.9.0" appcompat = "1.4.1" [libraries] core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core-ktx" } appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } [plugins] com-android-application = { id = "com.android.application", version.ref = "com-android-application" } org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "org-jetbrains-kotlin-android" }
Kapt to KSP 🫣
Android Jetpack
Architecture Libraries and Guidance 🗝
Recommendation 👌 https://developer.android.com/topic /architecture/recommendations
Modularization 🪱
Dependency Injection 💉
None
Jetpack Compose
None
Look at the new Project Template 👀
Jetpack Compose is Android’s recommended modern toolkit for building native
UI. It simplifies and accelerates UI development on Android. Quickly bring your app to life with less code, declarative Kotlin APIs, powerful tools, and backward compatible.
Construct UI by describing what, not how.
XML Vs Compose 💥 <!-- activity_main.xml --> <FrameLayout> <RecyclerView android:id=”@+id/listNews”
... /> <TextView android:id=”@+id/textError”.../> </FrameLayout> // Activity.kt val listNews = findViewById(R.id.listNews) val textError = findViewById(R.id.textError) if (data.size > 0){ listNews.visibility = View.VISIBLE textError.visibility = View.GONE } else { listNews.visibility = View.GONE textError.visibility = View.VISIBLE } // Activity.kt @Composable fun NewsScreen(newsList: List<News>) { if (newsList.size > 0){ Column { for (title in newsList){ Text(text = title) } } } else { Text(text = "No Data!") } }
Material You
None
Look (again) at the new Project Template 👀👀
M2 vs M3 💥
None
None
None
Conclusion 🎁 d.android.com/modern-android-development
“All you need is the plan, the road map, and
the courage to press on to your destination.” Earl Nightingale
Thank you