Dialogs are very popular functionality. Many applications rely on dialogs to present the user with some content.
In this section, we will look at dialogs and how to properly use them in modern applications. One of the biggest differences is about their modality, that is, an experienced developer may expect their code to hold until a dialog is on the screen while in a modern application (on a mobile platform, for example), dialogs follow an async pattern, by default.
There are many different dialog types, ranging from the simplest ones that are used to provide a simple text message, to more complex dialogs such as selecting a file from the filesystem. Many functionalities pass through dialogs as they are a natural way to interact with the user to inform them or to fetch some value needed by the current operation.
Nonetheless, dialogs in a multi-platform context can be tricky to handle. First of all, some of the dialogs are actually provided by the underlying...