In the previous chapters, we learned how to build visually responsive applications and how to add transitions and animations to them. Responsiveness also has another meaning—being capable, as an application, to promptly respond to user interactions throughout its lifespan, even when some heavy tasks are ongoing.
In this chapter, we are going to discuss how to achieve such a capability. Delivering a truly responsive application automatically implies the overall user experience is great. The user will never be staring at the screen, uninformed of what's happening, waiting to understand whether something is going on or the application is stuck.
The topics that we will be covering in this chapter are the following:
- Understanding multithreading
- Understanding the thread safety of UI frameworks
- Exploring threads and tasks
- Introducing the...