Starting at € 700

Concurrency With Kotlin Coroutines with Joe Birch

Overview

Join Joe Birch, Google Developer Expert for Android and Creator of Practical Jetpack Compose, for a full day of workshop and training around concurrency with coroutines. Learn how to correctly support concurrent operations in your android apps to help you to avoid commonly experienced crashes and ANRs, delivering a smoother experience for your users.

Concurrency on Android can be a scary topic, but this workshop will take you through the various concepts and techniques that can be applied in your projects.

Curriculum
1. Introduction to Coroutines
What is a coroutine?
Understanding coroutine context
Working with Suspending functions
2. Structured Concurrency
Managing the Lifecycle of a coroutine
Handling cancellations
Safely handling exceptions in concurrent operations
3. Flows
Understanding Coroutine Flows
Cold vs Hot Flows
State and Shared Flows
Handling errors in flows
4. Integrating Coroutines
Writing reusable functions with coroutines
Utilising Coroutines in ViewModels
Utilising Coroutines in Compose
5. Optimisations
Following coroutines best practices
Optimising concurrent workflows
6. Testing
Unit testing suspend functions
Unit testing flows
Unit testing coroutines in ViewModels

Upcoming Sessions

April 7, 2025
Book Now
Preparing

The training takes place entirely in English, so a sufficient spoken understanding of English is mandatory.

Logistics
  • Every session is held synchronously, live, including remote sessions. This training does not rely on pre-recorded videos.
  • Comprehensive course material is provided, serving as a common thread throughout the training. This typically includes numerous slides and starter codebases or repositories for every exercise and lab.
  • Trainees can ask questions at any time. Sessions alternate between theory and hands-on labs, in short intervals ranging from 5 minutes to 1 hour.
  • Hands-on periods involve real-world use-cases, which can be bootstrapped through starter codebases, Git repositories, or online assignment labs. These periods may be completed individually or in sub-groups that change between sessions to encourage pair programming and collaboration.
  • Remote sessions are conducted via a Zoom recurring meeting, accessible through a provided link using both the installed app and the web-based, no-install client. Features commonly used include video thumbnails, screensharing, chat, breakout rooms, and potentially quizzes, annotations, and whiteboards.

Upcoming Sessions

April 7, 2025
Book Now

Need an In-House / Custom Training?

If you’d like to get a version of this tailored to your needs, in our office or remotely, let us know what your needs are.