This recipe actually covered quite a few topics very quickly - TextFields, Forms, and Keys.
TextFields are platform-aware widgets that respect the host platform's UX paradigms. As with most things in Flutter, the look of TextFields is highly customizable. The default look respects the material design rules, but it can be fully customized using the InputDecoration property. By now, you should be noticing some common patterns in Flutter's API. Many widgets – Containers, TextFields, DecoratedBox, and so on – can all accept a secondary decoration object. It could even be argued that the consistency of the API design for these widgets has led to a sort of self-documentation. For example, can you guess what this line does to the second TextField?
keyboardType: TextInputType.emailAddress,
If you guessed that it lets us use the email keyboard instead of the standard keyboard, then...