Patterns, Data, and Input

Overview


In the second part of the course, you’ll learn ways to structure your Flutter application to make it easier to manage and maintain. You’ll also learn how to store data in your application and how to build forms that allow users to input data. Finally, you’ll learn how to validate form data and store it for later use.

The second part of the course is divided into the following chapters:

  • Design Patterns for Structuring Applications discusses a few often used design patterns for structuring applications, incluing Model-View-Controller (MVC), Model-View-ViewModel (MVVM), and layered architecture.
  • Inversion of Control and Dependency Injection introduces the concepts inversion of control and dependency injection that can help in making applications more modular.
  • Shared State discusses the benefits of inversion of control and dependency injection in making it easier to share state between different parts of your application.
  • Persistent Data introduces storing data in a Flutter application using the hive_ce and hive_ce_flutter libraries, allowing retaining data between application restarts.
  • Forms and Input Widgets discusses forms and input widgets in Flutter, and introduces the flutter_form_builder library for building forms that allow users to input data to the application.
  • Validating Form Data discusses how to validate form data in a Flutter application to ensure that the data is correct. The chapter also introduces the form_builder_validators library that provides ready-made validators for flutter_form_builder.
  • Storing Form Data draws together the chapters on persistent data, building forms, and validating form data to outline an application that allows inputting and storing data.
  • Storing Complex Data outlines creating classes for representing data and storing instances of classes for later use.
  • Finally, at the end of the second part, in Recap and Feedback, we’ll summarize the contents of the part, and again ask you to reflect and provide feedback on the contents and your learning in this part.