Errata for Flutter Apprentice 2nd Edition

Hi there is a typo in “Getting started” section in this sentence " One thing Flutter is not is a language." ,
as you can see there is an extra is.

Hi, I’ve spotted a couple of typos:

  1. Chapter 2, “2.2. Making the app yours”
    It says: “For even bigger changes, like adding dependencies or assets, you need to a full build and run.”
    I believe it should say “…you need a full build and run.”
  2. Chapter 2, “2.4 Building a recipe list”
    It says: “To add them, go to Finder and copy the assets folder from the top level of 02-hello-flutter in the book materials of your project’s folder structure.”
    I believe it should say “… to your project’s folder structure.”


Thanks @aliyoussef97 and @popodi and welcome to the community! This is very timely as I am making updates right at the moment, and those will be in our next release!

On Chapter 3, the last card had a set of Chip widgets in a Wrap. It has the spacing argument set to 12 but no runSpacing defined. When I add more chips to see the wrapping it works fine, but the rows are squished even though the example screenshot is not that way. I’m thinking the runSpacing got left out of the code by accident. When I added runSpacing: 12 it displayed just like the screenshot.

thanks @grading-retainer will have a look at this in our up coming update

Hey team, I’m on Section 3 - Navigating between screens, and I think there is a typo on the diagrams related to Navigation 2.0 they are in

Screen Shot 2021-10-29 at 15.05.44

Both say RouteInformation Provider and I think the second should be RouterInformation Parser right?


@fdorado985 that is correct, someone listed the same error above. We will get this very soon in the next update! Thanks for catching the same error!

The Flutter Fix feature, introduced in Flutter 2, combines a Dart command-line tool with changes suggested by the Dart analyzer to automatically clean up deprecated APIs in your codebase.
This feature has also been added to IDE plugins for Flutter (2.0) and Dart (2.12). Depending on the IDE, these automated updates are called quick-fixes or code actions.


IN 6.9, it says Note: There’s a large-scale version of the image in the assets folder of this chapter’s materials.

However, I can’t find it in the starter project.

@jefff9511 located here!

OH. I thought it was in the project’s assets folder … so I was looking here … 'MyFolder\FlutterApprenticeBookClub\flta-materials\07-routes-and-navigation\projects\starter\assets. I think the wwording is unclear FWIW.

1 Like

@jefff9511 thanks i’ll see if we can make the wording more clear. → Introducing Constructors → “seperatorBuilder”.

First I want to say I’ve really been getting a lot out of this book. Thank you to the publisher, authors and Google for making this a free resource. Just completed chapter 6 and noticed a few minor things:

In the “Adding the first row” I think the code block is missing an outer Row widget causing it to not render quite right. You will notice it starts with //2 even though the details refer to a 1 that does not exist. The final code in the download has things right.

In the “Adding the visual pieces” section there is a MaterialButton component that is used which the documentation indicates is now obsolete. Perhaps the book can use a different widget that is not obsolete?

I know it’s a nitpick but in the “Building the color picker widget” the modal action button is “Save”. But it really updates the color as soon as you select one. If you select one and then exit out of the modal (never saved) it still changes the color. It would be ideal if the modal followed the pattern of the other ones (async function, cancel button, etc). If that is too much for this tutorial maybe at least renamed the action button to “Close” or something.

1 Like

@grading-retainer thanks for your feedback, we will have a look and improve this for future readers!

The Adding the first row is indeed a bug on our part, we will be updating the book with a few fixes soon.

2.4 - Putting the list into a card

To do this, you’ll use a Card . In Material Design, Card s define an area of the UI where you’ve laid out related information about a specific entity.

Should be Card defineS an area I guess.
It can be plural but looks strange with formatting
Screenshot 2021-11-04 at 02.30.25


9 : Shared Preferences


// Show a loading indicator while waiting for the movies

// Show a loading indicator while waiting for the recipes


Just a little detail.

In serialization you give the example of a json file. But you don’t mention the real file at the beginning of the chapter (In the asset folder). Without seeing the real file, we wonder about the ingredients, weight …

Networking in flutter : release a V2 API.

So we have to click on “Older version” to use V1

Ch 10.Serialization With JSON, there is a little typo to switch:

→ Then you’d add a toJson() factory method and a fromJson() method:

toJson is not factory, fromJson is a factory method