A Beginner’s Guide to Modern Android Development

It ‘s been almost one year since I started developing for Android in general and Jetpack Compose in particular.

Having been an iOS and Java backend developer for quite some time, adding Kotlin and Jetpack Compose to my skill set felt like the right move.

It was a great time to start: Jetpack Compose had only been released a couple of months earlier.

After a steep learning curve, results began to come faster and faster. My biggest thanks go to the vibrant community that helped me so much—whether on Medium, YouTube, or various educational sites. There is so much content out there that makes learning Android and Jetpack Compose development much easier.

With this article I want to give back to the community and to anyone who wants to start Android development by providing a series of tutorials on the topics that mattered most to me during my first year.

Do we need more tutorials on these topics? No—there are already plenty that cover the same ground. The main reason I’m writing them is to consolidate the knowledge I ‘ve gained over the past year. This is why I blog: it helps me organize my thoughts.

This is intended to be a living document. Whenever I publish an article on a topic, I will add a link to it here. Links may not appear in the order below; I will publish whatever feels most important or inspiring at the time. There is a changelog at the end that will show the article’s evolution.

This is similar to my article “The Index,” which is essentially an index of all my Medium articles:

https://twissmueller.medium.com/the-index-a8d5890259c3

So, what did I learn in a year, and what will I cover in my series of tutorials?

  • Composables, Views as functions, UDF principle
  • ViewModels
  • Streamlining Composables and ViewModels with UiEvent and UiState
  • Modeling events and state with enums, sealed classes, and sealed interfaces
  • Navigation and Parcelables
  • MVVM and dependency injection with Dagger Hilt
  • Scaffold
  • Side effects
  • Network communication
  • Animations

These were the most important topics I encountered in my first year.

Please reply in the comments if you think I ‘ve missed an important topic I should cover.

Thank you for reading!

Resources