Is anyone else feeling as lost as I am?

@spgms … Is anyone else feeling as lost as I am … I’m a newbie to Flutter/Dart and even have only a fairly basic knowledge of OO in general.

I think the book is too advanced for someone like me … at least going at the pace this Book Clubs is going. I find myself cutting and pasting the code snippets and being able to READ the code. But knowing I won’t be able to do it myself later. And at the pace this Book Club is going, I can’t stop to experiment or research the WHY of everything.

So, even though I’m getting more and more frustrated, what I’m doing now … is just writing down every concept or issue I need to follow up on after the book Club is over. Then, I’ll go research those. Then I’ll focus on improving my Dart skills. Then I’ll take another Flutter tutorial.

Being just a hobbyist and a retired one at that (IT background but in non-OO languages) and since I’m feeling the time pressure of the Book Club, I know a subscription to RayWenderlich isn’t right for me. And there seems to be enough missing details in this book, I’m not sure that buying the book is the right option either.

I have a Markdown document where i’m pasting all the Key Points from each chapter. So I think what I’ll probably do after the Book Club is take a Dart tutorial. Then go through the Key Points that I feel weak on (at this point it’s Provider, Navigator, and Futures/Async

4 Likes

Hi @jefff9511.

Thanks for reaching out. I’m sorry you’re getting frustrated. I do understand from where you are coming. I, too, don’t have a OOP background. I’ve spent over 20 years as a SQL server and ANSI SQL developer and the OOP concepts took time for me to understand. Please don’t get me wrong, I am in no way an expert. I even spoke with someone a couple of weeks ago about the fact that since I got a new job (was unemployed 1.5 yrs and was working on Flutter stuff) I’m back in SQL full-time and my brain was losing the OOP stuff I’d learned.

All that said, this free article should help with understanding the Dart basics. Jonathan, the Dart Apprentice author, updated it this past June. Even I keep it bookmarked. :smile:

Here is a link to all our free Flutter articles: https://www.raywenderlich.com/flutter/articles

One last thing, you’re not alone. We’re here to help you on your journey. Please reach out when you get stuck or have a question.

Stef

3 Likes

Hi.

I’m a newbie too. OOP is very difficult and very frustating for everybody.

I try to learn every book, every tutorial 3 times to understand 80% …

Learning the basics takes time. I think we have to reach a certain level to learn quickly … :sweat_smile:

2 Likes

@jefff9511 @olivaxa Please check out our object oriented programming in Swift tutorial when you get a chance:

https://www.raywenderlich.com/599-object-oriented-programming-in-swift

The object oriented principles apply to Dart too. Please definitely let us know if you have any questions or issues about the whole thing. Thank you!

3 Likes

Thanks @shogunkaramazov

I’ll take a look as soon as I finish the book on flutter.

It can be frustrating, particularly trying to learn from these “follow the example” type tutorials that don’t explain much of the background necessary to understand what is going on.

Perhaps you can be specific with questions? What is it about the use of object-orientation in Flutter that is hard or confusing?

One thing that might help is realizing that in simple terms, a Flutter application is an object (widget) that calls its “build” method. That build method (may) create one or more objects where each in turn call their build methods. An iterative process. Each of these objects typically represent something drawn to a screen or some interaction with the user. This continues forming a hierarchical tree of widgets.

That is done many times a second. Given that the tree might have tens of thousands of objects calling their build methods, sounds inefficient huh? Thousands of objects being created and destroyed many times a second?

Well the key to Flutter is that the tree is only built once, and then only when “something changes”, is that changed object recreated or changed, as well as it’s direct children.

Does that help?

1 Like

You are not alone, I am there too. Be persistent. It will all click at one time. Don’t lose your mind over it. Think of it like a real language that you are picking up. It builds up as you continue experimenting with it. Then, it will come out naturally. Your effort is never lost. It is there but you don’t feel it building.

2 Likes

8d18b849de896324497f204dc63cd9bf

2 Likes

First of all you are not alone, we are all there, just take it easy :relieved:
Second, we are not supposed to be able to reimplement what we learn in this book (or any thing we learn the first time) by ourselves the first run, it’s totally OK to just follow, and try to understand the basic concepts. Being able to code alone and solve problems and understand advanced concepts will take time, experimentation and repetition :rowing_woman::rowing_woman::rowing_woman:.

2 Likes

Have you ever seen a rabbit on a road in front of car headlights? I have the same eyes in front of section 4 ! :rofl:

I agree with @alilosoft … it’s a very long journey …

Keep going @jefff9511

I’m also a retired IT professional. I started in 1971 with punched tape on IBM 1130 and I’m doing now the chapter 18 of Flutter Apprentice, deploying on iOS, having closed successfully the 17 chapters before. I have the Food Recipe app published on Play Store :slightly_smiling_face:

One hint: use intensively Stack Overflow. I found the solution for all my questions there, including the quirks when using a M1 MacBook and the mix between ARM and Rosetta. Have a good journey. The people who wrote the book did a good job.

1 Like

I’m not retired yet, but I started in the Computer Biz in 1985 and been in it ever since. 37 years ain’t a bad run. Still learning , EVERY-DAY. I agree, stack Overflow is a good source but the class forum works as well. :slightly_smiling_face:

1 Like