This is part of the "Flutter Fundamentals" learning path. View Path

Your Second Flutter App

Nov 30 2021 · Video Course (2 hrs, 9 mins) · Beginner

Continue along your Flutter and Dart journey by building your second complete app in Flutter, learning about making network calls, showing data in a list, and more!

Version

  • Dart 2.13, Flutter 2.2.3, Visual Studio Code

Parse Network Data

Introduction

2:37 Free

Welcome to the Your Second Flutter App course! See where you are in the Flutter Beginner Learning Path, learn about prerequisites and check out all the concepts you’ll cover.

1

Create the Project

9:00 Free

Get started with your second Flutter project by creating a template project that will be the basis of your own raywenderlich.com app.

2

Understand Futures

3:30 Free

Get started with asynchronous programming using the Dart Future type and the async/await keywords.

3

Get an introduction to app architecture and the repository pattern, then create the model classes for RWCourses.

4

Make a Network Call

10:31 Free

Discuss the basics of HTTP networking, and see how to make a network call from within a Flutter app to the RW API.

5

Get an introduction to JSON parsing, and parse the JSON response from the RW API into model objects.

6

Practice what you’ve learned: Inspect the RW API for course data and add a new property to the course model class that is parsed from JSON.

7

Parse Domains

7:59 Free

See how to parse more complicated data returned from the API, a list of domains associated with each course.

8

Learn about the concept of dependency injection and see how to utilize dependency injection when accessing the app repository.

9

Conclusion

1:23 Free

You’ve completed the first part of the course! Review what you’ve learned and find out what’s next.

10

Show a List

Lists are a critical aspect of any mobile platform. This introduction will provide an overview of creating lists in Flutter.

11

See just how little code you need in Flutter to show a list of widgets using a ListView.

12

See how to create a ListTile class that will display the course data in the courses list.

13

Practice what you’ve learned by showing more information for each course in the course ListTile widget.

14

Conclusion

0:49

Review the ListView and then get an upcoming preview of the next part: navigation and animation.

15

Navigate & Animate

This episodes provides an overview of navigation and animation in this upcoming part.

16

Review the steps needed to navigate between screens in a Flutter app, and navigate from the courses list to a course detail screen.

17

Create a widget class that encapsulates showing an image in a container and that downloading the image from the network.

18

Use the image widget you’ve created to help build out the course detail screen that shows more information for each course.

19

Practice your widget creation skills by creating a new skeleton page for filtering courses and navigating to that page.

20

Add a basic hero animation when navigating between the courses list and the course detail screen.

21

Learn about the Dart Dev Tools, and see how to use them to modify the properties of the hero animation during development.

22

Conclusion

1:15

You’re more than halfway through the course! Review in-app navigation and hero animations, then get an overview of the upcoming part.

23

Filter Results

This episode provides an overview of how you’ll filter results in the upcoming part.

24

Create a custom widget that will be used on the filter page to show radio buttons and text for each filter option.

25

Use the custom filter widget you’ve created to help build out the filter page that lets the user filter the course list.

26

Practice what you’ve learned to add a new filter widget to the course filters screen.

27

Save the filter choice made by the user into the app’s shared preferences, so that they are persisted between app restarts.

28

Apply the course filter to the courses list so that only the chosen platforms are shown in the list.

29

Conclusion

0:53

Review some of the pros and cons about working with shared preferences and then receive an overview of the upcoming part.

30

Meet Inherited Widgets

Get an overview of this final part on how Flutter manages state and how you can use it to manage state in your own app.

31

Learn about the importance of state management in Flutter and see some of the various options available for managing state.

32

Create a filter state container widget and an associated inherited widget that together will be used to hold filter state and lift state up the widget tree.

33

Use the filter state container and inherited widget you’ve create to lift filter state up to where it can be seen by both the courses page and the filter page.

34

Lock the app into portrait mode, and add a button to the course detail page that lets the user visit the course page on raywenderlich.com in a web view.

35

Conclusion

1:13

Congrats on finishing the course! Let’s review what you learned and discuss where to go from here to continue your Flutter and Dart learning journey.

36

Next course in this Learning Path

Version history

Flutter 2.2.3, Dart 2.13, Visual Studio Code (Selected)

Nov 30 2021

Flutter 1.22, Dart 2.10, VS Code 1.5

Nov 26 2020

Who is this for?

This course is for people getting started with Flutter and that have completed the Your First Flutter App and Programming with Dart: Fundamentals courses, or have the equivalent knowledge.

Covered concepts

  • Future Types
  • async/await
  • Network calls
  • Parsing JSON
  • ListViews
  • Adding screens
  • Animation
  • Shared preferences
  • Inherited Widgets
  • Webviews

Contributors

Comments