Thank you for the great Flutter lecture~
I wrote a long post because there were many things I regretted while listening to the lecture.
Summary -
It is a great lecture for making apps with Flutter, but is it bad for understanding Flutter?
------------------------------------------------------
Overall course review
Judging from the speed at which you wrote Flutter code, it seems that you have done a lot of related work, but compared to that, I felt that your overall project design ability, experience, and IT knowledge were somewhat lacking. Of course, I think it is enough for job seekers or students to listen to, but for developers with some experience, there were many parts where the explanation of concepts was wrong or why the project was structured like this.
At first, I wrote a post by asking questions while listening to the lecture, but I thought that if I kept writing, the lecture would not progress, so I just took notes separately and skipped the lecture. Here is what I wrote for now.
- Insufficient theoretical explanation of tokens or sessions in the authentication process explanation -> I left this in the question
- Insufficient detailed explanation in terms of taking the project structure. I wanted to hear a little bit about what patterns are used in Flutter, but they created a repository and a provider without explanation~
- The response format of the provided server API does not match. It is easier to develop if the response model is the same whether paging is used or not, but if there is paging, it is wrapped once in data and sent down, and if there is not, it is just sent down as is, so it is too inconvenient because it cannot be managed commonly in the client,,
- When creating a Dio interceptor, the explanation is like 'It's just a rule~' and you can follow it, and the explanation on the network side is insufficient overall
- There are parts where the explanation is skipped here and there, such as "If you know oop,,", and there are parts that talk about it even though it is not a concept about oop
- The naming does not match overall. The same image URL field is used as imgUrl, imageUrl, and I don't know why user_model is used as camel as userModel, but username is not used as userName
- The more the lecture goes on, the more the same words are repeated. It seems to be due to video editing, but there are parts where the same thing is repeated.. It's uncomfortable to watch
- After the gorouter chapter, it suddenly goes to UerMeRepository. In the previous lecture, UserModel was not created, but it was created. It seems like the lecture was missed
...
Because of the above contents, rather than listening to the lecture, I watched the lecture by stopping the lecture at the beginning of the lecture and implementing and comparing it myself when I thought, "What should I do?" In fact, the reference codes I saw on github or stackoverflow were much cleaner and had a better structure. (+ I also bought and read the book that he wrote, but I feel like he has never experienced a project at a large company.)
I usually don't write reviews while listening to the lecture, but I ended up writing this because he said this so many times during the lecture.
"This code can be written differently because it's different for each project, team, and person."
"Can't this be done like this?" If you say that, I have nothing to say." You say a lot of defensive things about tackles, but from the perspective of the listener, it sounds negative. If you had various project experience, you could explain various examples and say that there are various methods, but it seems like you are saying this because you can't. It would have been better if you didn't mention it.
And you say a lot, "This is a paid lecture, so I will tell you everything," but the explanation is too poor. I think it took more time to look into the internal code while listening to the lecture. In my opinion, if it's an 'intermediate' level, you expect to be explained how the code works internally, but it was a lecture where you just used what was there without knowing how it worked inside.
I hope that in future lectures, you add examples of various projects and explanations of internal logic.