The Author Online Book Forums are Moving

The Author Online Book Forums will soon redirect to Manning's liveBook and liveVideo. All book forum content will migrate to liveBook's discussion forum and all video forum content will migrate to liveVideo. Log in to liveBook or liveVideo with your Manning credentials to join the discussion!

Thank you for your engagement in the AoF over the years! We look forward to offering you a more enhanced forum experience.

ericwindmill (5) [Avatar] Offline
#1
Suggested by a MEAP reader, I'm opening this thread to any and all suggestions from MEAP readers. This includes, but not limited to:

* Typos
* Confusing grammer
* Unclear explanations
* Jokes in the book that aren't funny
* etc

Have at it!
yshrsmz (1) [Avatar] Offline
#2
Hi, thanks for writing this book! I'm really looking forward to reading the complete edition!

In 1.7.3

> The build object for this would look something like the following. I’ve pointed out the parts you should care about right now.

`build object` should be `build method`, right?

Also, example code here uses `new` which is not needed in Dart2.

In 1.7.4

there are few blank quotes which should include `+` (for example your wrote `"" button and "-" button`).
ericwindmill (5) [Avatar] Offline
#3
Thanks yshrsmz for taking the time! I really appreciate all the feedback I can get.
larryq (46) [Avatar] Offline
#4
Thanks for writing this book Eric, I've been waiting for a Flutter text. I think you've found a market that needs filling. From what I've read so far it's obvious your book is going to be a good one.

One question, if I may? In the State Management section, will there be anything about the BLOC pattern? For me at least that's been the trickiest thing to learn in Flutter. Maybe you have other state management solutions at hand and if so I'd be grateful to know about them.

As for typos, this is a nitpick but on page 14 of the MEAP you have a line that reads "It’s job is
just to wait to be pressed, and then execute a function when that happens
"...the first word should be 'Its', without the apostrophe since it's possessive and not the contraction for 'it is'.
rwsorden (1) [Avatar] Offline
#5
Hi Eric. I like your progress on the book so far. One little thing: you may want to replace "OSX" references with "macOS" since Apple doesn't officially use the "OS X" nomenclature anymore. Also, "books" on page 2: "This books has one goal: to turn you into a (happy) mobile developer." ("books" should be "book").
Nello (1) [Avatar] Offline
#6
Hi Eric,

- on page 2 of the book (pdf - version 3) I found:

"In Dart (unline JavaScript),"

i believe it might be "unlike"

- on page 7:

"the the company that’s developing Flutter"

has a duplicate "the"

- on page 8:

the figure 1.3 is a duplicate of figure 1.2 - likely it should be different

- on page 11:

inside the figure 1.6 in the box "composite and rastersize" (should it be Rasterize) , there is the word "seperate" (should be "separate"smilie

- on page 12:

"Its widgets all the way down" might be "It's widgets all the way down"

- on page 14:

(1.7.3) "A StatelssWidget is a widget " should be "A StatelessWidget is a widget"

- on page 17:

(1.7.4) "the developer expereince" should be "the developer experience"

- on page 19:

(figure 1.13) in the "Flutter Framework" figure the text "to the virutal tree and firgures out" should be "to the virtual tree and figures out"

- on page 21:

"in relation to eachother" should be "in relation to each other"
"the "" button is tapped" (not clear if it's + or -)
"the "" and "-" icons " (it's missing the + sign)
"hit’s all the widgets" (hits ?)
"mut know their constraints" (must ?)
(figure 1.15) likely "children's size" might be "childrens' size" as it's likely plural

- on page 22:

"traveersal" likely to be "traversal"
"importantly seperate then" should be "importantly separate then"
(figure 1.16) "increase perforamce" should be "increased performance"
(figure 1.16) "Composite and Rastersize" should be "Composite and Rasterize"
(figure 1.16) "step is seperate" should be "step is separate"

- on page 27:

(2.1.1) "You program must" should be "Your program must"

- on page 28:

(2.2.1) (suggestion) in the code example, it would be advisable to keep proper code indentation to ease the reading. having some reading/spotting issues, I heavily rely on proper code indentation to identify which instruction belongs to which code block.

in the 5th point (code explanation) it seems a bit rushed out the explanation of what a more "robust" function looks like as the example is not clearly explained and therefore (English is not my main language) I have to "drop" it and move on although I clearly understand that is an important topic.

- on page 32:
(2.3.3) the text "Thats why int s String s List s and everything else can be assigned to null." read like that, even if the characters are not clearly identifiable as code and should be in a code block (like i't done for "int three = null;"smilie so to keep separated the code from the text without the eyes having to struggle to identify what is what (sorry to be picky but on screen the eyes struggle to identify the fonts) - Thats should also be written as "That is why"

When talking about FINAL ans CONST there is a clear example on how to use (and not to use) CONST but FINAL has been left hanging without an example. Few lines to show an example on how to use FINAL would be great.

-on page 36:
although I understand the nature of the example (var five=5; etc.) it achieves the same effect of those mind tricks that assign a color to a word and the effect is only to trick and confuse the brain unnecessarily. Since you are using the examples using the variable "number" why change it for this code snippet?

-on page 38:
in the listing 2.3 (forEach), it was used the "=>" without introducing it properly and using a method of a class (pet.bark) - For clarity of purpose so that it reconnects to the example 2.2, it would have been better to use the same example so that a programmer can see how different loops achieves the same results.

-on page 40:
in the listing 2.7 at the 2nd point, the opening and closing delimiters used for the string "Hello, $name" are different

- on page 41:
"Named parameters are, by default, are optional" - there is a redundant "are"

- on page 53:
"Now that we’ve thought through what our classes will be, and what each class will be specifically responsible for."
the sentence is grammatically wrong as the phrase is incomplete

- on page 75:
the "visual representation" of the widget tree od the app is missing. there is an image placeholder "image replacement"
ericwindmill (5) [Avatar] Offline
#7
Thank you all so much! I don't know if I can accurately describe how helpful this is!
4557 (1) [Avatar] Offline
#8
I'm enjoying your book. You have a great writing style.

I have one small suggestion so far. On page 41 you use the term "dry code", which I agree is an important concept software development. But maybe it would be good to define the term.
fatslo (2) [Avatar] Offline
#9
The method addProduct of class Transaction in the example of chapter 3 has an error in the updater function of Map.update. It should return value+1, but it returns null.

Instead of
Map<dynamic, int> addProduct(dynamic product) {
    itemized.update(product, (value) => value += 1, ifAbsent: () => 1);
    //...
}


it should be
Map<dynamic, int> addProduct(dynamic product) {
    itemized.update(product, (value) => value + 1, ifAbsent: () => 1);
    //...
}