-
Notifications
You must be signed in to change notification settings - Fork 129
/
README.md
705 lines (362 loc) · 36.9 KB
/
README.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
<h1 align="center">Awesome Jetpack Compose Learning Resources</h1></br>
<p align="center">
:eyeglasses: A continuously updated list of learning Jetpack Compose for Android apps.
</p>
<br>
<p align="center">
<a href="#"><img alt="Android Language Badge" src="https://badgen.net/badge/OS/Android?icon=https://raw.githubusercontent.com/androiddevnotes/learn-jetpack-compose-android/master/assets/android.svg&color=3ddc84"/></a>
<a href="#"><img alt="Kotlin Language Badge" src="https://badgen.net/badge/language/Kotlin?icon=https://raw.githubusercontent.com/androiddevnotes/learn-jetpack-compose-android/master/assets/kotlin.svg&color=f18e33"/></a>
<a href="https://github.com/androiddevnotes"><img alt="androiddevnotes GitHub badge" src="https://badgen.net/badge/GitHub/androiddevnotes?icon=github&color=24292e"/></a>
</p>
<br>
<p align="center">
<img width="320px" src="assets/jetpack_compose_androiddevnotes.png" alt="jetpack compose androiddevnotes logo"></img>
</p><br>
**Awesome Jetpack Compose Learning Resources** aims to be your starting point to find the finest learning content for Jetpack Compose suites of libraries.
Content in languages other than English is tagged according to ISO 639-2 codes.
## Contents
- [Docs, Codelabs, and Official Projects](#docs-codelabs-and-official-projects)
- [Docs](#docs)
- [Codelabs](#codelabs)
- [Official Projects](#official-projects)
- [Resources](#resources)
- [Articles and Tutorials](#articles-and-tutorials)
- [Slides](#slides)
- [Talks, Conferences, and Interviews](#talks-conferences-and-interviews)
- [Videos](#videos)
- [Twitch Channels](#twitch-channels)
- [Books](#books)
- [Apps](#apps)
- [Twitter Threads](#twitter-threads)
- [Podcasts](#podcasts)
- [Frequently Asked Questions on Jetpack Compose](#faq-on-jetpack-compose)
- [Communities](#communities)
:memo: [**Contributing**](#memo-contributing)
:seedling: [**Contributors**](#seedling-contributors)
## Docs, Codelabs and Official Projects
### Docs
- [API Guidelines for Jetpack Compose](https://github.com/androidx/androidx/blob/androidx-main/compose/docs/compose-api-guidelines.md)
- [Jetpack Compose Pathways](https://developer.android.com/courses/pathways/compose) - Learn about Compose, a modern toolkit for building native Android UI. Test your knowledge of Compose and earn your Jetpack Compose badge.
- [Jetpack Compose project page](https://developer.android.com/jetpack/compose)
### Codelabs
- [Jetpack Compose basics](https://codelabs.developers.google.com/codelabs/jetpack-compose-basics/index.html) - In this codelab, you will learn * What Compose is * How to build UIs with Compose * How to manage state in composable functions * Data flow principles in Compose.
- [Layouts in Jetpack Compose](https://codelabs.developers.google.com/codelabs/jetpack-compose-layouts/index.html) - In this codelab, you'll learn how to use Compose's highest level of UI abstraction, Material Design, as well as low-level composables like Layout that allows you to measure and place elements on the screen
- [Using State in Jetpack Compose](https://codelabs.developers.google.com/codelabs/jetpack-compose-state/index.html) - In this codelab you'll learn about the state and how it can be used and manipulated by Jetpack Compose.
- [Jetpack Compose Theming](https://codelabs.developers.google.com/codelabs/jetpack-compose-theming/index.html) - In this codelab you will learn how to use Jetpack Compose's theming APIs to style your application. We'll see how to customize colors, shapes and typography so that they're used consistently throughout your application, supporting multiple themes such as light & dark theme.
- [Jetpack Compose Animation](https://developer.android.com/codelabs/jetpack-compose-animation#0) - In this codelab, you will learn how to use some Animation APIs in Jetpack Compose.
- [Jetpack Compose Navigation](https://developer.android.com/codelabs/jetpack-compose-navigation#0) - Use the Jetpack Navigation component to navigate between screens in Jetpack Compose.
- [Testing in Jetpack Compose](https://developer.android.com/codelabs/jetpack-compose-testing#0) - In this codelab you'll learn about testing UIs created with Jetpack Compose. You will write your first tests while learning about testing in isolation, debugging tests, semantics trees and synchronization.
- [Accessibility in Jetpack Compose](https://developer.android.com/codelabs/jetpack-compose-accessibility/index.html) - In this codelab you will learn how to use Jetpack Compose to improve your app's accessibility. We will walk through several common use cases and improve a sample app step by step. We will cover touch target sizes, content descriptions, click labels, and more.
- [Migrating to Jetpack Compose](https://codelabs.developers.google.com/codelabs/jetpack-compose-migration/index.html) - In this codelab, you'll be migrating parts of the Sunflower's plant details screen to Compose. We created a copy of the project for you to try out migrating a realistic app to Compose.
- [Advanced state and side effects in Jetpack Compose](https://developer.android.com/codelabs/jetpack-compose-advanced-state-side-effects/index.html) - In this codelab you will learn advanced concepts related to State and Side Effects APIs in Jetpack Compose. We'll see how to create a state holder for stateful composables whose logic isn't trivial, how to create coroutines and call suspend functions from Compose code, and how to trigger side effects to accomplish different use cases.
### Official Projects
- https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-master-dev/ui - Git repository on Jetpack Compose.
- https://github.com/androidx/androidx/tree/androidx-master-dev/ui - Development environment for Jetpack Compose. Synchronized with Jetpack's primary development branch on AOSP.
- https://github.com/aosp-mirror/platform_frameworks_support/tree/androidx-master-dev/ui - AOSP mirror of Git repository on Jetpack Compose.
- https://issuetracker.google.com/issues?q=status:open%20componentid:612128 - Search Recent issues for Jetpack Compose Android.
- https://issuetracker.google.com/issues/new?component=612128 - Create new issue for Jetpack Compose Android.
- https://github.com/android/compose-samples - Official Jetpack Compose Samples
### Resources
- https://github.com/vinaygaba/Learn-Jetpack-Compose-By-Example
- 🚀 This project contains various examples that show how you would do things the "Jetpack Compose" way.
- https://github.com/Gurupreet/ComposeCookBook
- A Collection on all Jetpack compose UI elements, Layouts, Widgets and Demo screens to see it's potential
- https://github.com/MindorksOpenSource/Jetpack-Compose-Android-Examples
- Learn Jetpack Compose for Android by Examples. Learn how to use Jetpack Compose for Android App Development. Android’s modern toolkit for building native UI.
- https://github.com/hitherejoe/ComposeAcademy-Playground
- Compose Academy Playground is a free resource that provides snippets and practical samples on how to use Jetpack Compose for the Android platform.
- https://github.com/Foso/Jetpack-Compose-Playground
- Collection of Jetpack Compose example code and tutorials
- https://github.com/Naveentp/Awesome-Jetpack-Compose
- A collaborative list of awesome jetpack compose resources.
- https://github.com/SimformSolutionsPvtLtd/SSJetPackComposeProgressButton
- SSJetPackComposeProgressButton is an elegant button with a different loading animations..🎉
- https://github.com/rawhasan/jetpack-compose-exercises
- A collection of exercise projects in Jetpack Compose that shows how to do the usual things from the view word in the new way in Jetpack Compose.
- https://github.com/SimformSolutionsPvtLtd/SSComposeCookBook
- A Collection of major Jetpack compose UI components which are commonly used.🎉🔝👌
- https://github.com/canopas/Intro-showcase-view
- An android library to highlight different features of the app built using Jetpack Compose.
## Articles and Tutorials
- [jetc.dev](https://jetc.dev/) - Jetpack Compose Resources + Newsletter.
- [Understanding Jetpack Compose Article Series](https://medium.com/androiddevelopers/understanding-jetpack-compose-part-1-of-2-ca316fe39050 )- Understanding Jetpack Compose — Part 1 of 2 by Leland Richardson
- [JOE BIRCH](https://joebirch.co/tag/jetpack-compose/) - Collection of quality articles on Jetpack Compose by Joe Birch.
- [Jetpack Compose Playground](https://foso.github.io/Jetpack-Compose-Playground/) - This is a collection of Jetpack Compose examples/tutorials and demos.
- [Search latest jetpack compose articles on Medium](https://medium.com/tag/jetpack-compose/latest) - Collection of quality articles from Android Devs and the Android team that worked on Jetpack Compose. Sort Jetpack Compose articles by Recency on Medium.
- [Search jetpack compose articles on Dev](https://dev.to/t/jetpackcompose) - Collection of quality articles from Android Devs. Sort Jetpack Compose articles by Recency on Dev.to
- [Compose Academy](https://compose.academy/) - Snippets and guides for Jetpack Compose on the Android platform
- [JetpackCompose.app](https://jetpackcompose.app/) - Learn more about using Jetpack Compose in Android. How does Jetpack Compose compare to the existing Android UI Toolkit?
- [Jetpack Compose Archives by AlexZh](https://alexzh.com/tag/jetpack-compose/) - Quality Jetpack Compose articles by AlexZh
- [Jetpack Compose Tutorial for Android: Getting Started](https://www.raywenderlich.com/7032631-jetpack-compose-tutorial-for-android-getting-started) - In this Jetpack Compose tutorial, you’ll learn to use the new declarative UI framework being developed by the Android team by creating a cookbook app.
- [Animations in Jetpack Compose with examples](https://blog.canopas.com/animations-in-jetpack-compose-with-examples-48307ba9dff1)
- [Jetpack Compose: MVVM State management in a simple way](https://blog.canopas.com/jetpack-compose-mvvm-state-management-in-a-simple-way-4c632fa6f554)
- [Intro showcase view in Jetpack Compose — Android](https://blog.canopas.com/intro-showcase-view-in-jetpack-compose-ac044cd3bf28)
- [Testing cheatsheet | Jetpack Compose | Android Developers](https://developer.android.com/jetpack/compose/testing-cheatsheet)
![](https://developer.android.com/images/jetpack/compose/compose-testing-cheatsheet.png)
## Slides
### Note: Find more Slides at https://cse.google.com/cse?cx=010150859881542981030%3Ahqhxyxpwtc4&ie=UTF-8&q=jetpack+compose&sa=Search
- [Composables under the hood](https://speakerdeck.com/tkuenneth/composables-under-the-hood) [January 24, 2021]
<br>
<p align="center">
<img src="assets/Composables_under_the_hood_page-0001.jpg" alt="Composables under the hood"></img>
</p>
<br>
- [Migrating Your Design System to Jetpack Compose](https://speakerdeck.com/ditn/migrating-your-design-system-to-jetpack-compose) [November 25, 2020]
<br>
<p align="center">
<img src="assets/Migrating_Design_System_to_Jetpack_Compose_page-0001.jpg" alt="Migrating Your Design System to Jetpack Compose"></img>
</p>
<br>
- [Compose ❤️ Dino: Building Chrome’s T-Rex Game in Jetpack Compose - Kotlin Mumbai](https://speakerdeck.com/wajahatkarim3/compose-dino-building-chromes-t-rex-game-in-jetpack-compose-kotlin-mumbai) [September 26, 2020]
<br>
<p align="center">
<img src="assets/Building_T-Rex_game_in_Jetpack_Compose__Slides_page-0001.jpg" alt="Compose ❤️ Dino: Building Chrome’s T-Rex Game in Jetpack Compose - Kotlin Mumba"></img>
</p>
<br>
- [360|AnDev 2020: Learning Jetpack Compose By Example](https://speakerdeck.com/vinaygaba/360-andev-2020-learning-jetpack-compose-by-example) [July 23, 2020]
<br>
<p align="center">
<img src="assets/Learn_Jetpack_Compose_By_Example_page-0001.jpg" alt="360|AnDev 2020: Learning Jetpack Compose By Example"></img>
</p>
<br>
- [Let’s build an Android UI with Jetpack Compose by Alex Zhukovich](https://speakerdeck.com/alexzhukovich/lets-build-an-android-ui-with-jetpack-compose) [April 20, 2020]
<br>
<p align="center">
<img src="assets/Let_s_build_Android_UI_with_Jetpack_Compose_page-0001.jpg" alt="Let’s build an Android UI with Jetpack Compose by Alex Zhukovich"></img>
</p>
<br>
- [Jetpack Compose どうなの?(Android Dev Summit 2019報告会)by Yuki Anzai](https://speakerdeck.com/yanzm/jetpack-compose-dounafalse-android-dev-summit-2019bao-gao-hui) [November 15, 2019] [JA]
<br>
<p align="center">
<img src="assets/ADS2019_yanzm_page-0001.jpg" alt="Jetpack Compose どうなの?(Android Dev Summit 2019報告会)by Yuki Anzai"></img>
</p>
<br>
- [MVI with Jetpack Compose by Luca Nicoletti](https://speakerdeck.com/lnicolet/mvi-with-jetpack-compose) [September 09, 2019]
<br>
<p align="center">
<img src="assets/MVI_with_Jetpack_Compose__1__page-0001.jpg" alt="MVI with Jetpack Compose by Luca Nicoletti"></img>
</p>
<br>
- [React, Meet Compose by Leland Richardson](https://speakerdeck.com/lelandrichardson/react-meet-compose) [July 12, 2019]
<br>
<p align="center">
<img src="assets/react-meet-compose-with-slide-notes_page-0001.jpg" alt="React, Meet Compose by Leland Richardson"></img>
</p>
<br>
- [Jetpack Compose — Next Gen Kotlin UI Toolkit for Android](https://speakerdeck.com/ragunathjawahar/jetpack-compose-next-gen-kotlin-ui-toolkit-for-android) [June 22, 2019]
<br>
<p align="center">
<img src="assets/Compose_Composed_page-0001.jpg" alt="Jetpack Compose — Next Gen Kotlin UI Toolkit for Android"></img>
</p>
<br>
- [Jetpack Compose by TakuSemba](https://speakerdeck.com/takusemba/jetpack-compose) [May 21, 2019]
<br>
<p align="center">
<img src="assets/2019_5_20_google_io_page-0001.jpg" alt="Jetpack Compose by TakuSemba"></img>
</p>
<br>
- [SSComposeCookBook: Jetpack compose UI components](https://github.com/SimformSolutionsPvtLtd/SSComposeCookBook) [Aug 25, 2021]
<br>
<p align="center">
<img src="assets/simform_compose_banner.png" alt="SSComposeCookBook: A Collection of major Jetpack compose UI components which are commonly used."></img>
</p>
<br>
## Talks, Conferences, and Interviews
### [Android Developers](https://www.youtube.com/user/androiddevelopers)
- [Thinking in Compose](https://www.youtube.com/watch?v=SMOhl9RK0BA) [Aug 26, 2020]
<br>
[![Thinking in Compose](http://img.youtube.com/vi/SMOhl9RK0BA/0.jpg)](http://www.youtube.com/watch?v=SMOhl9RK0BA "Thinking in Compose")
<br>
- [Compose by example](https://www.youtube.com/watch?v=DDd6IOlH3io) [Aug 26, 2020] - We’ll walk through examples of theming, animation, layout, and more, demonstrating how to customize and combine components to build real UIs.
<br>
[![Compose by example](http://img.youtube.com/vi/DDd6IOlH3io/0.jpg)](http://www.youtube.com/watch?v=DDd6IOlH3io "Compose by example")
<br>
- [Compose for existing apps](https://www.youtube.com/watch?v=PjQdFmiDgwk) [Aug 26, 2020] - In this talk, you'll learn how to do that! We'll cover topics such as: adding Compose to your existing Views and embedding Views in Compose, using your existing View theme and current app architecture in Compose, testing all of that code, and much more.
<br>
[![Compose for existing apps](http://img.youtube.com/vi/PjQdFmiDgwk/0.jpg)](http://www.youtube.com/watch?v=PjQdFmiDgwk "Compose for existing apps")
<br>
- [What's new in Compose Design Tools](https://www.youtube.com/watch?v=exjL2kGPngI) [Jul 27, 2020] - Have a sneak peek at some of the toolings we are working on to help you develop your Jetpack Compose applications.
<br>
[![What's new in Compose Design Tools](http://img.youtube.com/vi/exjL2kGPngI/0.jpg)](http://www.youtube.com/watch?v=exjL2kGPngI "What's new in Compose Design Tools")
<br>
- [Jetpack Compose](https://www.youtube.com/watch?v=U5BwfqBpiWU) [Jun 10, 2020] - We outline our roadmap, what is ready for use right now, share our direction in areas that are still evolving, and show how the tight integration with tooling makes the development experience even better.
<br>
[![Jetpack Compose](http://img.youtube.com/vi/U5BwfqBpiWU/0.jpg)](http://www.youtube.com/watch?v=U5BwfqBpiWU "Jetpack Compose")
<br>
- [#AskAndroid at Android Dev Summit 2019 - Jetpack Compose](https://www.youtube.com/watch?v=oEy6nJaMtLM) [Nov 2, 2019] - Discussion of Jetpack Compose questions submitted by Android developers online.
<br>
[![#AskAndroid at Android Dev Summit 2019 - Jetpack Compose](http://img.youtube.com/vi/oEy6nJaMtLM/0.jpg)](http://www.youtube.com/watch?v=oEy6nJaMtLM "#AskAndroid at Android Dev Summit 2019 - Jetpack Compose")
<br>
- [Building Jetpack Compose](https://www.youtube.com/watch?v=SPsdRXcgqjI) [Oct 23, 2019] - Come behind the scenes with the Jetpack Compose team to hear about the motivations for the project and how Compose simplifies and accelerates UI development on Android.
<br>
[![Building Jetpack Compose](http://img.youtube.com/vi/SPsdRXcgqjI/0.jpg)](http://www.youtube.com/watch?v=SPsdRXcgqjI "Building Jetpack Compose")
<br>
- [Understanding Compose (Android Dev Summit '19)](https://www.youtube.com/watch?v=Q9MtlmmN4Q0) [Oct 24, 2019] - This session covers the benefits of a declarative reactive UI system like Jetpack Compose and how it applies to real problems that Android developers have today.
<br>
[![Understanding Compose (Android Dev Summit '19)](http://img.youtube.com/vi/Q9MtlmmN4Q0/0.jpg)](http://www.youtube.com/watch?v=Q9MtlmmN4Q0 "Understanding Compose (Android Dev Summit '19)")
<br>
- [What's New in Jetpack Compose (Android Dev Summit '19)](https://www.youtube.com/watch?v=dtm2h-_sNDQ) [OCt 23, 2019] - This talk introduces Compose to new audiences, including what the project is and how it is taking shape. The talk also updates people who already know about Jetpack Compose, including how the project has evolved.
<br>
[![What's New in Jetpack Compose (Android Dev Summit '19)](http://img.youtube.com/vi/dtm2h-_sNDQ/0.jpg)](http://www.youtube.com/watch?v=dtm2h-_sNDQ "What's New in Jetpack Compose (Android Dev Summit '19)")
<br>
- [Chain React 2019 - Leland Richardson - React, Meet Compose](https://www.youtube.com/watch?v=4EFjDSijAZU) [Jul 31, 2019] - Jetpack Compose is a new declarative UI framework that is being developed in the open for Android. It has a very similar programming model to React, and this talk will dive deep into the internals of both to explain the similarities and differences in the architectures of both, and how React Native might be able to leverage some of this technology long term
<br>
[![Chain React 2019 - Leland Richardson - React, Meet Compose](http://img.youtube.com/vi/4EFjDSijAZU/0.jpg)](http://www.youtube.com/watch?v=4EFjDSijAZU "Chain React 2019 - Leland Richardson - React, Meet Compose")
<br>
- [Declarative UI Patterns (Google I/O'19)](https://www.youtube.com/watch?v=VsStyq4Lzxo) [May 8, 2019] - Explore how reactive and declarative paradigms can be applied to Android UI development, making it easier for developers to integrate these patterns into their Android apps with Kotlin.
<br>
[![Declarative UI Patterns (Google I/O'19)](http://img.youtube.com/vi/VsStyq4Lzxo/0.jpg)](http://www.youtube.com/watch?v=VsStyq4Lzxo "Declarative UI Patterns (Google I/O'19)")
<br>
### [droidcon](https://www.droidcon.com)
- [Jetpack Compose — Next Gen Kotlin UI Toolkit for Android](https://www.droidcon.com/media-detail?video=353079951)
### [Android Makers](https://www.youtube.com/channel/UCkatLlah5weIpN23LqMgdTg)
- [Let's build Android UI with Jetpack Compose by Alex Zhukovich, Takeaway.com EN](https://www.youtube.com/watch?v=qoE34lpyo_Q)
<br>
[![Let's build Android UI with Jetpack Compose by Alex Zhukovich, Takeaway.com EN](http://img.youtube.com/vi/qoE34lpyo_Q/0.jpg)](http://www.youtube.com/watch?v=qoE34lpyo_Q "Let's build Android UI with Jetpack Compose by Alex Zhukovich, Takeaway.com EN")
<br>
### [JetBrains TV](https://www.youtube.com/user/JetBrainsTV)
- [Jetpack Compose - Next Gen Kotlin UI Toolkit for Android - Bengaluru, June 22, 2019](https://www.youtube.com/watch?v=I5zRmCheVVg)
<br>
[![Jetpack Compose - Next Gen Kotlin UI Toolkit for Android - Bengaluru, June 22, 2019](http://img.youtube.com/vi/I5zRmCheVVg/0.jpg)](http://www.youtube.com/watch?v=I5zRmCheVVg "Jetpack Compose - Next Gen Kotlin UI Toolkit for Android - Bengaluru, June 22, 2019")
<br>
### [DutchAUG](https://www.youtube.com/channel/UC4qbsTjxkQOsCf2ymYY85_g)
- All about Jetpack Compose(https://www.youtube.com/watch?v=Z7Qs9XYGyCM)
<br>
[![All about Jetpack Compose](http://img.youtube.com/vi/Z7Qs9XYGyCM/0.jpg)](http://www.youtube.com/watch?v=Z7Qs9XYGyCM "All about Jetpack Compose")
<br>
### [Google Developers](https://www.youtube.com/channel/UC_x5XG1OV2P6uZZ5FSM9Ttw)
- [Google I/O'19 - Chet Haase Interview on Jetpack Compose](https://www.youtube.com/watch?v=JcZqtBy9MT8)
<br>
[![Google I/O'19 - Chet Haase Interview on Jetpack Compose](http://img.youtube.com/vi/JcZqtBy9MT8/0.jpg)](http://www.youtube.com/watch?v=JcZqtBy9MT8 "Google I/O'19 - Chet Haase Interview on Jetpack Compose")
<br>
### [Wajahat Karim](https://www.youtube.com/channel/UCV1ga_tJD-MMs7cTApKDwYQ)
- [Codelab - Art of Jetpack Compose - Wajahat Karim - 360|AnDev 2020](https://www.youtube.com/watch?v=iJYCL1BlTkM)
<br>
[![Codelab - Art of Jetpack Compose - Wajahat Karim - 360|AnDev 2020](http://img.youtube.com/vi/iJYCL1BlTkM/0.jpg)](http://www.youtube.com/watch?v=iJYCL1BlTkM "Codelab - Art of Jetpack Compose - Wajahat Karim - 360|AnDev 2020")
<br>
### [raywenderlich.com](https://www.youtube.com/channel/UCz3cM4qLljXcQ8oWjMPgKZA)
- [Romain Guy - Android Q, UX and Jetpack Compose - Ray Wenderlich Podcast - S9, E9](https://www.youtube.com/watch?v=3VMMOFoSOZg)
<br>
[![Romain Guy - Android Q, UX and Jetpack Compose - Ray Wenderlich Podcast - S9, E9](http://img.youtube.com/vi/3VMMOFoSOZg/0.jpg)](http://www.youtube.com/watch?v=3VMMOFoSOZg "Romain Guy - Android Q, UX and Jetpack Compose - Ray Wenderlich Podcast - S9, E9")
<br>
### [AlexZh Dev](https://www.youtube.com/channel/UCGaWGZ23II5am251vQCEt_Q)
- [Let’s build an Android UI with Jetpack Compose (Mobile Twente & JUG Lodz meetups)](https://www.youtube.com/watch?v=vKaqd4gXsIk)
<br>
[![Let’s build an Android UI with Jetpack Compose (Mobile Twente & JUG Lodz meetups)](http://img.youtube.com/vi/vKaqd4gXsIk/0.jpg)](http://www.youtube.com/watch?v=vKaqd4gXsIk "Let’s build an Android UI with Jetpack Compose (Mobile Twente & JUG Lodz meetups)")
<br>
### [Rivu Chakraborty](https://www.droidcon.com/2021/08/19/migrating-to-compose/)
- Droidcon Online: [MIGRATING TO COMPOSE](https://www.droidcon.com/2021/08/19/migrating-to-compose/)
<br>
[![MIGRATING TO COMPOSE (Droidcon Online)](https://i.imgur.com/gFve2Sd.png)](https://www.droidcon.com/2021/08/19/migrating-to-compose/ "MIGRATING TO COMPOSE (Droidcon Online)")
<br>
## Videos
### [hitherejoe_dev](https://www.youtube.com/channel/UC_j07JXRR-yum2NihUavQeQ)
- [Morning Minimise - Live Streams: Jetpack Compose Playlist on YouTube by hitherejoe_dev](https://www.youtube.com/watch?v=JQW1Ykzhfes&list=PLygXnm_B3n4wUW_rIdk62mpSd68XPvBG8)
<br>
[![Morning Minimise - Live Streams: Jetpack Compose Playlist on YouTube by hitherejoe_dev](http://img.youtube.com/vi/JQW1Ykzhfes/0.jpg)](http://www.youtube.com/watch?v=JQW1Ykzhfes "Morning Minimise - Live Streams: Jetpack Compose Playlist on YouTube by hitherejoe_dev")
<br>
### [MindOrks](https://www.youtube.com/channel/UCocBChVv7HPx0g5SbnOUv7w)
- [Android Jetpack Compose Tutorial - A modern toolkit for building native Android UI](https://www.youtube.com/watch?v=JdTtRkT03gY)
<br>
[![Android Jetpack Compose Tutorial - A modern toolkit for building native Android UI](http://img.youtube.com/vi/JdTtRkT03gY/0.jpg)](http://www.youtube.com/watch?v=JdTtRkT03gY "Android Jetpack Compose Tutorial - A modern toolkit for building native Android UI")
<br>
### [Kotlin London](https://www.youtube.com/channel/UCv4-wxKsrlwh83KShW5QPwA)
- [Daniel Montoya Ramos - Android Jetpack Compose](https://www.youtube.com/watch?v=MQcfIj4gPWs) - Daniel will show a new way of building UI's in Android using Jetpack Compose, comparing Imperative vs Declarative approaches. He'll look at managing state changes and composing functions.
<br>
[![Daniel Montoya Ramos - Android Jetpack Compose](http://img.youtube.com/vi/MQcfIj4gPWs/0.jpg)](http://www.youtube.com/watch?v=MQcfIj4gPWs "Daniel Montoya Ramos - Android Jetpack Compose")
<br>
### [Yet Another Dev](https://www.youtube.com/channel/UCWg_fMIBrLDUf2Z5wMh_6rw/)
- [Jetpack compose for beginners playlist](https://www.youtube.com/playlist?list=PLAVsCyDh6fYcfgZAkdp6SLMex1TVWpEFQ)
<br>
[![Yet Another Dev - Jetpack compose playlist](http://img.youtube.com/vi/MxxCIW1jyeg/0.jpg)](https://www.youtube.com/playlist?list=PLAVsCyDh6fYcfgZAkdp6SLMex1TVWpEFQ "Jetpack Compose For begineers")
<br>
### [Leland Richardson](https://www.youtube.com/channel/UC12QSFbBDrf-yrGrXspdV3A)
- [Jetpack Compose playlist from Leland Richardson.](https://www.youtube.com/playlist?list=PLcgGtmZOsTwFMT0dt2qA7pL__QN3kvsnC)
<br>
[![](http://img.youtube.com/vi/2j08MEbA6cs/0.jpg)](https://www.youtube.com/playlist?list=PLcgGtmZOsTwFMT0dt2qA7pL__QN3kvsnC "Jetpack Compose")
<br>
- [Compose Compiler playlist from Leland Richardson.](https://www.youtube.com/watch?v=bg0R9-AUXQM&list=PLcgGtmZOsTwG6LqPut_BxX6w9DRr2unU6)
<br>
[![Stable Inference - Compose Compiler - Ep 01](http://img.youtube.com/vi/bg0R9-AUXQM/0.jpg)](https://www.youtube.com/watch?v=bg0R9-AUXQM&list=PLcgGtmZOsTwG6LqPut_BxX6w9DRr2unU6 "Stable Inference - Compose Compiler - Ep 01")
<br>
### [All Techies](https://www.youtube.com/c/AllTechies)
- [Jetpack Compose beginners playlist from All Techies.](https://www.youtube.com/playlist?list=PL6sljRl1auGjrkUB-Sq2NNSo9l1LQ20xb)
<br>
[![](https://i.ytimg.com/vi/h5cKaeEBhiQ/hqdefault.jpg)](https://www.youtube.com/playlist?list=PL6sljRl1auGjrkUB-Sq2NNSo9l1LQ20xb "Jetpack Compose")
<br>
### [Philipp Lackner](https://www.youtube.com/c/PhilippLackner)
- [Android Jetpack Compose Tutorial From Scratch - Playlist from Philipp Lackner](https://www.youtube.com/playlist?list=PLQkwcJG4YTCSpJ2NLhDTHhi6XBNfk9WiC)
<br>
[![Philipp Lackner - Jetpack Compose Playlist](https://img.youtube.com/vi/cDabx3SjuOY/0.jpg)](https://www.youtube.com/playlist?list=PLQkwcJG4YTCSpJ2NLhDTHhi6XBNfk9WiC)
<br>
### [Alex Styl](https://www.youtube.com/alexstyl)
- [Jetpack Compose Shorts](https://www.youtube.com/watch?v=0ucLMOve2to&list=PLsZcmDgCUmJ3Yds-g4S4rRd3ZUBShLdL6)
[![Alex Styl - Jetpack Compose Playlist](https://i.ytimg.com/an_webp/8bc5ma-f0nQ/mqdefault_6s.webp?du=3000&sqp=CITM4JYG&rs=AOn4CLAC-HeuhGu-fLPwlBJEU7KaX9TPgA)](https://www.youtube.com/watch?v=0ucLMOve2to&list=PLsZcmDgCUmJ3Yds-g4S4rRd3ZUBShLdL6)
## Twitch Channels
#### [EN]
- [intelligibabble](https://www.twitch.tv/intelligibabble) - Leland Richardson
- [adammc331](https://www.twitch.tv/adammc331) - Adam McNeilly
- [Elliott_Troop](https://www.twitch.tv/elliott_troop) - Elliott Troop
- [ThePocmo](https://www.twitch.tv/ThePocmo) - ThePocmo
## Books
- [Android UI Development with Jetpack Compose](https://www.thomaskuenneth.eu/books/) by [Thomas Künneth](https://twitter.com/tkuenneth) -
Complete with hands-on examples, this easy-to-follow guide will get you up to speed with the fundamentals of Jetpack Compose such as state hoisting, unidirectional data flow, and composition over inheritance and help you build your own Android apps using Compose. You'll also cover concepts such as testing, animation, and interoperability with the existing Android UI toolkit.
- [Jetpack Compose internals](https://leanpub.com/composeinternals/) by [Jorge Castillo](https://twitter.com/JorgeCastilloPr) -
Jetpack Compose is the future of Android UI. Master how it works internally and become a more efficient developer with it. This book provides all the details to understand how the Compose compiler & runtime work, and how to create a client library using them.
- [EXPLORING JETPACK COMPOSE](https://joebirch.co/exploring-jetpack-compose/) by [Joe Birch](https://twitter.com/hitherejoe) [NOT PUBLISHED YET] -
I’m currently writing a book, “Exploring Jetpack Compose”, where I’ll be diving into the different components that are available within the Compose APIs.
- [From View to Composable](https://viewtocomposable.com) by [Alex Styl](https://twitter.com/alexstyl) – Jetpack Compose is the future of Android UI. Wouldn't it be great if you did not have to spend hundreds of hours figuring out how to do things you already know the old-fashioned way? This book includes code examples and to-the-point explanations so that you do not have to.
### Apps
- [👓 A curated list of awesome Jetpack Compose android apps by open-source contributors.](https://github.com/androiddevnotes/awesome-jetpack-compose-android-apps)
- [Use the advanced search on GitHub and find open-source projects to your liking.](https://docs.github.com/en/github/searching-for-information-on-github/about-searching-on-github)
## Podcasts
- [Episode 158: Jetpack Compose... C'est bêta !](http://androidbackstage.blogspot.com/2021/03/episode-158-jetpack-compose-beta.html)
- [Episode 131: Jetpack Compose and Declarative UIs](https://androidbackstage.blogspot.com/2020/01/episode-131-jetpack-compose-and.html)
- [Episode 115: Jetpack Compose](https://androidbackstage.blogspot.com/2019/06/episode-115-jetpack-compose.html)
- [Compose for Desktop – Talking Kotlin](https://talkingkotlin.com/compose-for-desktop/)
- [Jetpack Compose with Leland Richardson – Talking Kotlin](https://talkingkotlin.com/jetpack-compose-with-leland-richardson/)
- [Episode 147: Jetpack Compose Alpha by Android Developers Backstage](http://androidbackstage.blogspot.com/2020/08/episode-147-jetpack-compose-alpha.html)
- [Jetpack Compose with Denis Buketa – Podcast S10 E13](https://www.raywenderlich.com/13267837-jetpack-compose-with-denis-buketa-podcast-s10-e13)
- [Romain Guy – Podcast S09 E09](https://www.raywenderlich.com/4809247-romain-guy-podcast-s09-e09)
## Twitter Threads
- [Learn more about the core concepts of #JetpackCompose right from your Twitter feed! My goal is to create easy-to-consume but useful content that does not take up too much of your time.](https://twitter.com/vinaygaba/status/1303030745011687426) - by [Vinay Gaba](https://twitter.com/vinaygaba)
- [On #JetpackCompose Alpha day, I want to share a story about Architecture in Compose. When we open sourced Compose at I/O 2019, one of the most common questions from many Android developers was “What does this mean for the architecture of our apps?”](https://twitter.com/objcode/status/1298740410584457216) - by [Sean McQuillan](https://twitter.com/objcode)
- [Seeing a lot of confusion around Compose and SwiftUI. A few clarifying facts.](https://twitter.com/intelligibabble/status/1299020334826283009) - by [Leland Richardson](https://twitter.com/intelligibabble)
- [Jetpack Compose can seem daunting after years of using Android Views. Let's speed up your learning of Compose using things you already know from Views.](https://twitter.com/alexstyl/status/1510910211682357248) - by [Alex Styl](https://twitter.com/alexstyl)
## Communities
- [StackOverflow android-jetpack-compose](https://stackoverflow.com/questions/tagged/android-jetpack-compose)
- [Kotlin Slack](https://surveys.jetbrains.com/s3/kotlin-slack-sign-up)
- [r/JetpackCompose](https://www.reddit.com/r/JetpackCompose/)
- [Jetpack Compose Twitter Bot](https://twitter.com/ComposeBot)
## FAQ on Jetpack Compose
- [Find answers to frequently asked questions about Jetpack Compose!](https://jetpackcompose.app/faq)
- [Jetpack Compose Frequently Asked Questions](https://github.com/Mishkun/jetpack-compose-faq)
- [Below FAQs are curated and taken from AMA done by Android Eng Team](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/)
- [Do you have a navigation solution in your minds for Compose? Do we have to use fragments for NavComponent?](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g28qg5p)
- [Will the lifecycle of Compose continue be like fragments(hell)or it will be simplified? We had several issues with fragments on our team but I have never heard any lifecycle issue from our iOS team with ViewControllers for years](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g29379k)
- [From someone who hasn't started using Compose, but plans on doing so until the end of the year: What are the worst use cases for the transition? As someone who relies on custom widgets, does Compose allow for the same level of customization (measure/layout, draw, touch, animation, accessibility, states)?](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g29paiu)
- [Does jetpack compose perform better than XML? when editing complex layouts on XML my low spec laptop struggles a lot.](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g2anoyc)
- [How binary compatibility would be handled? If new kotlin version comes out and kotlin compiler changes extension plugin API or if Compose starts to generate different bytecode, would Compose-based libraries my app uses work OK if each of them depends on different compiler version?](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g29k7f0)
- [How will compose mix with Dagger/Hilt? Since we can get a view model inside a compose, how does injection goes into the constructor? Would saved instance state become obsolete? Would saved state handle become obsolete too?](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g2ylseu)
- [Given the supposedly equal treatment for all Android languages, what is the Compose story for Java and C++ developers?](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g2kugzx)
- [Will you port ConstraintLayout/MotionLayout in Compose?](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g297x0u)
- [Is Jetpack Compose going to replace few existing components completely? Or they will coexist together like Fragments, Recyclerview etc](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g28siic)
- [How do I wrap my head around the concept of Ambients?](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g2aj8ug)
- [What are the best ways to manage a state for Jetpack compose? And should that state only be for that only composable function or whole visible screen?](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g28u2fy)
- [With jetpack compose around the corner, is it possible to ditch fragments completely and have one activity that manages multiple composables without the need of fragments or other activities.](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g29fp2x)
- [What should be the directory structure for Jetpack compose functions? Specifically for MVVM approach?](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g28vs4t)
- [Are there plans to move other libraries (ViewPager, SwipeRefreshLayout, etc.) to Compose when it's released?](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g28vyap)
- [With compose I see a bright future without fragments (I know they are being fixed, but still), without activity recreation on config change (so no Android viewmodels either) and much more. I think this will allow having code that is simpler and more platform agnostic and that ditches most lifecycle gotchas. This also plays well with kotlin and compose multi platform... My question is, will you support this approach straight away, or will you support the fragment+viewmodel way only, and the other approach will be on the hands of the community?](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g2b3lu5)
- [Can Jetpack compose interoperate with libraries like MPAndroidChart (with no changes to the library)? ex: using chart from the lib in Jetpack Compose](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g2a74ej)
- [These days many apps have settled on Activity/Fragment as View, ViewModel, and Repository. With Compose, are ViewModels still relevant for state management?](https://www.reddit.com/r/androiddev/comments/idefss/were_on_the_engineering_team_for_android_jetpack/g2azmy2)
## :memo: Contributing
See [contributing.md](contributing.md)
## :seedling: Contributors
Thank you to all the contributors!
See [AUTHORS](AUTHORS)
## :computer: Find us on
<div align="center">
<a href="https://github.com/androiddevnotes"> GitHub </a> / <a href="https://discord.gg/vBnEhuC"> Discord </a> / <a href="https://twitter.com/androiddevnotes"> Twitter </a> / <a href="https://www.instagram.com/androiddevnotes"> Instagram </a> / <a href="https://www.youtube.com/channel/UCQATLaT0xKkSm-KKVQzpu0Q"> YouTube </a> / <a href="https://medium.com/@androiddevnotes"> Medium </a>
<br><br>
<img width="320px" src="https://raw.githubusercontent.com/androiddevnotes/androiddevnotes/master/assets/androiddevnotes.png" alt="androiddevnotes logo"></img>
</div>