We may earn an affiliate commission when you visit our partners.
Catalin Ghita

Tired of creating Android UIs and layouts in XML? Jetpack Compose comes to the rescue.

Jetpack Compose is Android’s modern toolkit for building native UI. It simplifies and accelerates UI development on Android. Compose allows to quickly bring your app to life with less code, powerful tools, and intuitive Kotlin APIs.

While building not less than 5 Android projects with Compose, this course will teach you the following:

Read more

Tired of creating Android UIs and layouts in XML? Jetpack Compose comes to the rescue.

Jetpack Compose is Android’s modern toolkit for building native UI. It simplifies and accelerates UI development on Android. Compose allows to quickly bring your app to life with less code, powerful tools, and intuitive Kotlin APIs.

While building not less than 5 Android projects with Compose, this course will teach you the following:

  • What Compose is, why do we need it, and how it works

  • The basics and fundamental concepts behind Compose like: the declarative paradigm shift, the dynamic content concept, recompostion and more.

  • State management in Compose

  • How to create complex layouts in Compose

  • The integrations between Compose and other Jetpack libraries: ViewModel, LiveData, and Navigation

  • Integration of Compose in MVVM architecture

  • Integrations between Jetpack Compose and other popular libraries on Android like Coroutines and Retrofit

  • How to theme your Compose app

  • Animations in Compose: from simple to complex animations effects like Collapsing Toolbar

And the best part is that this course features the 1.0.0 up-to-date stable version of Compose.

Lastly, you need no prior Android or Kotlin experience. We will learn everything from scratch.

I can't wait for you to join me in this course.

More on Compose:

Compose simplifies and accelerates UI development on Android allowing you to build modern looking apps. It allows to quickly bring your app to life with less code, powerful tools, and intuitive Kotlin APIs. It follows the same Declarative paradigm approach as React Native, Flutter and SwiftUI. So this is the trend.

You can buid better apps faster with Jetpack Compose, Android’s modern toolkit for building native UI. With Jetpack Compose now past 1.0.0, it’s time to try it out for yourself.

Enroll now

What's inside

Learning objectives

  • How to create android ui and layouts directly in code with kotlin
  • Modern declarative way of creating ui in android
  • How to use compose with other jetpack libraries: viewmodel, navigation, livedata
  • How to use compose with other popular libraries: coroutines, retrofit
  • How to integrate compose in a mvvm architecture
  • How to create beautiful animations with jetpack compose

Syllabus

Introduction to Compose
What is Jetpack Compose?
Course outline
Why should we use Compose?
Read more
Why is it called Compose?
Inheritance vs Composition
Install Android Studio
Project resources and teaching style
Basics of Jetpack Compose
Create a new Compose project
Kotlin basics: Classes, variables and methods
Kotlin basics: Inheritance
Compose is built on Composables
Kotlin Trailling Lambdas and Compose
Understanding preview

You can download the current solution state of the project from:

  • the downloadable resource for this lecture

  • the Github page of the solution for this lecture from the URL resource.

More on Composable functions
Identify composables through preview
Modifying Composables with Modifier
The order of modifiers matters

In this first quiz, we will test your Compose basic skills!

Are you ready?

Core UI elements of Compose
Module introduction
Wrap content of composables
Multiple composables inside a parent composable
Row, Column and Box in Compose
Alignment and arrangement for Row
Compose fundamental concepts
Module Introduction
The Declarative paradigm shift
Dynamic content concept
State management in Compose
State and recomposition
Introduction to ViewModel and LiveData
Creating and theming a Profile card layout
Theme in Compose
Add another user to the layout
Dynamic lists

You can download the dummy users file from the the downloadable resource of this lecture.


You can download the current solution state of the project from:

  • the downloadable resource for this lecture

  • the Github page of the solution for this lecture from the URL resource.

Navigation in Compose
Jetpack Navigation in Compose
Explore Android presentation patterns like MVC, MVP, MVVM and explore Coroutines usages with Retrofit
Module Introduction - Mealz App
Setting up Mealz App project
Presentation patterns MVC, MVP and MVVM
Introduction to MVVM and AAC Viewmodel
Adding a ViewModel and Repository
Picking Meal Database API
Getting the data in JSON format
Structuring the response classes
Retrofit for networking
Callback for network response
Introduction to Coroutines
Suspend functions, scopes, dispatchers
Using Coroutines in Compose
Hoisting state and Coroutine in ViewModel
Customizing the Meals screen
Explore animations with Compose
Implementing expanding list items
Navigating to meal detail screen
Animate size of composable
Animating multiple components
Collapsing toolbar on Column

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers Jetpack Compose 1.0.0, which is a stable and up-to-date version, allowing developers to confidently use the latest features and improvements
Integrates Compose with other Jetpack libraries like ViewModel, LiveData, and Navigation, which streamlines development and promotes a cohesive architecture
Explores integrations between Jetpack Compose and popular libraries like Coroutines and Retrofit, which enables developers to build robust and modern Android applications
Teaches the declarative paradigm shift, which is a fundamental concept in modern UI development and crucial for understanding Compose
Requires no prior Android or Kotlin experience, which makes it accessible to beginners looking to learn modern Android UI development
Examines presentation patterns like MVC, MVP, and MVVM, which may be useful for developers seeking to improve their understanding of architectural design

Save this course

Save Jetpack Compose Crash course for Android with Kotlin to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Jetpack Compose Crash course for Android with Kotlin with these activities:
Review Kotlin Fundamentals
Solidify your understanding of Kotlin syntax and core concepts before diving into Jetpack Compose. This will make learning Compose APIs much smoother.
Show steps
  • Review Kotlin documentation on variables, functions, and classes.
  • Practice writing simple Kotlin programs.
  • Complete online Kotlin tutorials or coding challenges.
Brush up on Android UI Fundamentals
Revisit the basics of Android UI development to better appreciate the declarative approach of Jetpack Compose. Understanding the older View system will provide valuable context.
Show steps
  • Review traditional Android XML layouts.
  • Study the Android View lifecycle.
  • Familiarize yourself with common UI components like TextView and Button.
Read 'Head First Android Development'
Gain a broader understanding of Android development principles to better appreciate the advantages of Jetpack Compose.
Show steps
  • Read the chapters covering UI design and layout.
  • Pay attention to the explanations of Activities and Fragments.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Convert an existing XML layout to Compose
Practice converting a simple Android layout from XML to Jetpack Compose. This hands-on exercise will solidify your understanding of Compose syntax and layout principles.
Show steps
  • Choose a simple XML layout from an existing Android project or tutorial.
  • Recreate the layout using Jetpack Compose composables.
  • Compare the code and the resulting UI to identify differences and areas for improvement.
Follow Advanced Compose Tutorials
Explore advanced Jetpack Compose topics like custom layouts, animations, and state management through online tutorials. This will expand your knowledge beyond the basics covered in the course.
Show steps
  • Search for tutorials on specific Compose topics that interest you.
  • Follow the tutorials step-by-step, experimenting with the code.
  • Adapt the tutorial code to your own projects.
Write a blog post about your Compose learning journey
Reflect on your experience learning Jetpack Compose and share your insights with others. This will reinforce your understanding and help you identify areas where you need further practice.
Show steps
  • Outline the key topics you want to cover in your blog post.
  • Write about your challenges, successes, and lessons learned.
  • Include code examples and screenshots to illustrate your points.
  • Publish your blog post on a platform like Medium or your own website.
Contribute to a Compose-based open-source project
Gain practical experience with Jetpack Compose by contributing to an open-source project. This will expose you to real-world development practices and help you learn from experienced developers.
Show steps
  • Find an open-source project that uses Jetpack Compose.
  • Identify a bug or feature that you can contribute to.
  • Submit a pull request with your changes.
  • Respond to feedback from the project maintainers.

Career center

Learners who complete Jetpack Compose Crash course for Android with Kotlin will develop knowledge and skills that may be useful to these careers:
Android Developer
An Android Developer builds and maintains applications for the Android operating system. This role requires a strong understanding of UI development, and this course helps build a foundation in using Jetpack Compose, which is Android’s modern toolkit for creating user interfaces. A key learning objective of this course is to create Android UI and layouts directly in code with Kotlin, using the declarative paradigm, and a learner of this course will be well on their way to developing interfaces, and managing application state. This course also covers integration with other Jetpack libraries and popular libraries, which are all important skills for an Android Developer.
Software Development Engineer
A Software Development Engineer designs, develops, and tests software. This course focuses on UI development with Jetpack Compose, which provides the foundation for creating modern Android applications. A Software Development Engineer will find the hands-on experience with layouts, state management, and animations to be especially helpful. The course also introduces concepts such as the MVVM architecture, which can be useful for developing larger applications. If you want to develop UI for Android, this course is highly beneficial.
Application Developer
An Application Developer builds software applications across a variety of platforms. This course teaches the creation of Android applications with Jetpack Compose, which is a toolkit for modern UI development. This course focuses on the creation of layouts, state management, animations and integration with common libraries. An Application Developer will find this course useful, as the fundamentals taught are directly applicable to building functional Android applications.
User Interface Engineer
A User Interface Engineer focuses on the visual and interactive elements of software applications. This course introduces Jetpack Compose, a modern UI toolkit and provides hands-on experience in creating layouts, managing state, and applying animations. This course also covers the declarative paradigm shift and dynamic content concepts, which are useful for User Interface Engineers. An understanding of these concepts is central to building compelling user interfaces, making this course particularly relevant to those seeking a career as a User Interface Engineer.
Mobile Application Developer
A Mobile Application Developer creates applications for mobile devices, be it Android or iOS. While this course focuses specifically on Android development, the skills learned, particularly with the declarative UI paradigm using Jetpack Compose, are broadly applicable to mobile app development and user interface principals. The course teaches how to create layouts, manage state, and integrate with libraries, all crucial for any role involving mobile app creation. If you are interested in developing mobile apps, this course may be useful in your learning journey.
Frontend Developer
A Frontend Developer specializes in the user-facing parts of software, such as websites or applications. While this course centers on Android app development using Jetpack Compose, a frontend developer can learn about important concepts such as the declarative paradigm, state management, and animation. This course offers experience in building dynamic UIs and integrating with backend services, and therefore may help someone looking to become a frontend developer. By using Kotlin and Compose, this course could help a frontend developer expand their skillset.
Software Engineer
A Software Engineer designs and develops software systems. Although broad, this role often involves developing an application's user interface. This course provides training in UI development for Android using Jetpack Compose, a modern tool which accelerates development. The course’s focus on core UI elements, layouts, state management, and animations helps to build crucial skills for any Software Engineer who works on the frontend. The course may be useful to a Software Engineer who wants a deeper understanding of Android user interfaces.
Mobile UI Designer
A Mobile UI Designer focuses on the aesthetic and functional aspects of mobile interfaces. While this course is not explicitly a design course, its deep dive into Jetpack Compose can help a UI designer better understand the capabilities and constraints of the tools used to develop those designs. This course includes the fundamentals of layouts, animations, theming, and navigation. A UI designer who takes this course will be able to create designs which are easier to implement, making them a more effective and collaborative designer.
Mobile Software Architect
A Mobile Software Architect is responsible for the high-level design and structure of mobile applications. This course on Jetpack Compose introduces a core technology used in modern Android application development. While this course is not specifically at the architecture level, it provides practical experience in the declarative paradigm, state management, and the MVVM architecture, which are concepts central to a Mobile Software Architect. This deeper understanding of the tools and practices may be useful to someone in this role as they build robust solutions.
UX Engineer
A User Experience Engineer focuses on the implementation of user interfaces, ensuring they are both functional and enjoyable. This course helps a learner understand the fundamentals of Android UI development using Jetpack Compose, including layouts, state, theming, and animations. The course will help a UX Engineer better grasp the technical aspects of UI development, allowing them to more effectively implement their designs. The course may be useful to a UX Engineer who wishes to gain a deeper understanding of Android development tools.
Technology Consultant
A Technology Consultant provides expert advice to businesses on technology solutions. This role can require an understanding of mobile app development and the modern technologies involved. This course provides firsthand experience with Jetpack Compose, a modern Android UI toolkit, and its capabilities. This course may help a Technology Consultant who must provide informed recommendations regarding mobile app development strategies or when suggesting new technologies. The course provides hands on experience with Jetpack Compose, which would be valuable knowledge to a Technology Consultant.
Technical Lead
A Technical Lead provides guidance and direction to a development team. This course offers hands-on experience with Jetpack Compose, the modern UI toolkit for Android. A Technical Lead may find the practical experience in UI creation, state management, integration with libraries, and the MVVM architecture useful for understanding the technical challenges of their team. This course may improve a technical lead's comprehension of modern Android development tools.
Software Development Manager
A Software Development Manager leads teams of developers and must have a general understanding of the technologies that are being used. This course provides hands-on experience with Jetpack Compose, the modern Android UI toolkit, giving exposure to the development process. Familiarity with UI development, state management, and integration with other libraries may be useful to a Software Development Manager. By taking this course, a manager will have the opportunity to better understanding the challenges faced by their team.
Mobile Application Tester
A Mobile Application Tester is responsible for testing mobile applications to ensure they function correctly and meet user requirements. While this course is about building apps, not testing them, this course provides deep understanding of the way modern Android apps are structured using Jetpack Compose, which may improve a tester's ability to identify and understand potential issues. A tester who understands the underlying architecture and UI approach might be a more effective tester. This course may help a mobile application tester improve their testing process.
Instructional Designer
An Instructional Designer creates learning materials and courses. While not directly related to the technology used in this course, an Instructional Design professional may take this course to stay updated with new and relevant technology trends in software development. The course can help an Instructional Designer gain insight into the skills needed by developers, and this first-hand knowledge may help improve the quality and relevance of their training programs. A designer could benefit from understanding the learning objectives and syllabus provided here.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Jetpack Compose Crash course for Android with Kotlin.
Provides a solid foundation in Android development concepts, which will be helpful for understanding the context of Jetpack Compose. While it focuses on the traditional View system, it explains core Android principles in an accessible way. It is more valuable as background reading than a direct reference for Compose. This book is commonly used as a textbook for introductory Android courses.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser