Analyse your Android knowledge before you learn anything new
Before learning a new toolkit, work out what you already know. Four questions that decide where to start, applied to Jetpack Compose.
Also published on Medium — read it there if you prefer, or to comment and highlight.

Day 1 of 100. Before the first line of Compose, a step that is easy to skip.
Whenever you start learning something new — or pick up something you left earlier and start again — the first step is analysis.
- Is it a new topic that you are starting to learn?
- If you have already implemented or learned it in the past, what do you know about the sub-topic? Write it down in points.
- Whatever language you are starting to learn, first check whether it is similar to some other language you already know.
- At last, write down your goals.
Let's explore all of that with Jetpack Compose.

Is it a new topic that you are starting to learn?
It is — so let's first understand what Jetpack Compose is.
Jetpack Compose is a modern, fully declarative UI toolkit for building native Android applications. It is part of the Android Jetpack library and is designed to simplify and accelerate UI development on the Android platform. Jetpack Compose lets developers build UIs using a concise and intuitive Kotlin-based language.
The most important thing about Jetpack Compose is that it is a data-driven language. It gives you the ability to handle view state logic inside the compose tree — you don't need to keep that state in a data class and remember to update it. Compose handles it itself, which is what makes it good.
Here are the basics of Jetpack Compose. Just go through it. You don't need to understand everything yet; you only need to read enough to know what the Compose components are.
@Composable
fun Example() {
Row {
Image(
// ...
)
Column {
Text(
// ...
)
Text(
// ...
)
}
}
}
What do you already know?
It is important to analyse what you already know, because it saves a lot of time and a lot of repetitive reading on the parts where you are already fine.
As a software engineer, if a library or a piece of code already exists then you don't need to rewrite it. Start by using the library, then look at your timeline: if there is a lot to do, keep using the library for now and schedule a ticket to implement it yourself later. Look at the business first.
The same idea applies to learning. If you already know 30% of a language, start from the 31st percent and keep learning new things — because there is a great deal still to learn.
Let's make a list of Jetpack Compose learning content:
- UI components (
Row,Column,Text,Image, Material theme,Button, and so on) - How to make data-driven composable functions, so you can generate previews
- Building a Navigation Compose graph, so every feature is independent of the others
- Jetpack Compose animations
- Jetpack Compose performance
There is a lot to learn, so I would suggest making small points — that way you always know what is left and what you have already covered.
Is it similar to something you already know?
It is not easy for everyone to learn a new language quickly and to understand and implement its concepts. But every language is built on the same principles: the same old classes, blueprints, functions, abstractions and interfaces.
You already know those concepts, and they have been implemented in different languages millions of times. So you can draw a comparison and understand a new language very quickly from a single example.
If you already know XML and want to know the Compose equivalent of an XML component, I would suggest exploring What's the equivalent of X in Jetpack Compose? — it maps the existing Android UI toolkit onto Compose, component by component.
If you are already an Android developer, you are set. If you are starting for the first time, download and install Android Studio.
Write down your goals
That's the setup. Start learning Jetpack Compose from the official documentation, and keep learning something new here every day alongside it.
Thanks for reading — and don't forget to follow for more.
Day 1 of a 100-day series on Jetpack Compose, working through the official documentation in order.