First week experience of Flutter

Welcome to the next level of Flutter!


If you are new to Flutter, and have already worked through your first Flutter codelab, this section of the website is for you!

The goal here is to guide you through some next steps of learning Flutter. It's not about teaching you how to program, it's about teaching you how Flutter works.

As you might know, Flutter uses the Dart language. If you have experience with other object-oriented languages, like Java, C++, or Swift, Dart should feel familiar to you. As of this writing, Dart is one of the fastest growing languages, in part, thanks to Flutter.

We suggest that you work through the following subjects in the listed order.

  1. Widget fundamentals : Learn about one of the primary building blocks of a Flutter application, Widgets.
  2. Layout : Flutter is different from other UI frameworks in that you create the layout programmatically. This allows you to compose widgets, Flutter's basic building blocks, to realize your own layout vision. It also facilitates designing a UI to optimize any screen where your app might be used.
  3. State management : Learn how share state between widgets and notify other parts of your app when the state changes. See how to implement MVVM in Flutter to manage state effectively for small to medium-sized apps.
  4. Handling user input : Learn about Flutter's widgets that support interactivity, like buttons and text. Also, learn how to add interactivity to a widget that doesn't already support it.
  5. Networking and data : Networking is a very large topic, so this section focuses on basic networking functionality, such as how to retrieve or submit data using HTTP, how to convert to and from JSON, how to use authentication, how to implement asynchronicity, and more.
  6. Local data and caching : Learn about different techniques for caching local data.



As this section of the website is evolving, we welcome your feedback!