This is so great! A lot other channels, mostly non-development, typically critique or discuss other channels' videos. You are the first one I discover doing that for another channels' SwiftUI video and I love it. Learning so much from this and I think this is also what the greater development community should be about: helping one another. I also love your thourough explanations! Thank you
Thanks for this code review! As a software engineer new to Swift and SwiftUI, I appreciated learning the real best practices such as Combine, flexible frames, and view modifiers. I hope to see more like this!
Great job. There are ao many great tips here. Thank you! More code reviews would be awesome. There are so many “ Simple” examples that bypass good practices like using enums instead of string compares. The core data helper is fantastic.
This is an awesome video. You should do more of code reviews and refactoring. It's an great way to introduce new ways to improve code quality resorting to non-real world examples..
Thank you for this! You’re the first person I found who even addresses the new auto generated code in core data. I think it’s about 50% more clear now! 😅 Perhaps you could reach out to the original UA-camr and give them tips for updating the tutorial, or if you have the time and desire, make a quick tutorial walking through that auto-generated core data code. Either way thank you again for this video! It’s a great example of a respectful code review. 😊
I only realised that the Core Data preview is a problem that nobody addresses after I published the video. You are right I should make a video dedicated to that. It is strange to me that most tutorials ignore the autogenerated code when you create a new project. They usually go “okay, we delete this because we learn more by implementing it ourselves”. When I see autogenerated code, I think “this is sample code from Apple engineers, that wanted to show best practices to the developers 🤩”. So I always take time going through it and learning from it.
@@SwiftyPlace exactly how I feel! One of the hardest parts for me with iOS development is there are so many layers of abstraction and helpful stuff done for you, but not even Apple seems to feel it’s necessary to explain why things work for beginners. When I learn I need to know why I’m doing something in order to wrap my brain around it. I think most tutorials avoid that since it can create very long tangents, but without it, I’m just copying someone else’s code and trying to shove it into my own project. Then if something breaks, I’m stuck. I think I might look for more code reviews like this and see if that helps! Thank you again!
Very grateful for the videos and this taught me I have so much more to learn. I became lost around the extensions; thus an area I must review! Further, I am interested to know what resources or where you learned your code understanding? Are you available for a conversation? TIA
FYI, the use of Spacer() is recommended over making a Text frame larger; the reason is Text requires a pixel buffer allocated and the larger the frame the more memory it will consume, whereas a Spacer() simply affects the underlying layout constraints.
@@SwiftyPlace The UILabel is creating a bitmap to render the label onto before passing it the rendering system. I was (probably wrongly) assuming that a Text was mapped 1-to-1 to a UILabel under the hood. I've done some further testing however and it looks like Apple may have optimized this internally and the .frame that you pass doesn't seem to actually change the frame of the Text rendered element, only affects is relationship with other views around so maybe that optimisation is no longer required with SwiftUI. In a previous comment I posted a link to an article that discussed UILabel bitmap allocations .. check it out if you can somehow see it.
Is the updated code available in GitHub or elsewhere? I learned so much from what you showed us. I want to play with final result especially the piece of combine you brought it. Thanks
This is a wonderful tutorial. I am a SwiftUI and Combine beginner and have been unable to find any sample code that isn't one of a handful of small toy projects. This video helped me understand a bit better the way of thinking when using SwiftUI. Is it possible to share the final finished project?
I don't use SwiftUI previous because on a big project I am working on it takes longer to update the preview than to rebuild the app, that's a nonsense that it is not just hot swapping the changed code...
Regarding the original design... If there's one piece of advice I can give to junior, intermediate programmers who want to ship their own apps, it's this: do NOT design the UI yourself. Most often, you don't know what you don't know. Look at what Apple does, go through their apps, look at what they're doing. Then copy that. They don't always get it right (see: Reminders app) but they get it right more often than not. If you're on a budget, hire a design freelancer for a few hours, to review your design, give you some guidance. Tap in to their sense of design and aesthetics. Invest in yourself: take some introductory courses in visual design and typography. These skills will be at least as important as any Swift course you'll take, and will last you a lifetime.
This kavsoft person rehashes a lot of nice tutorials by other great contributors, like Paul Hudson. The “self made” content he sometimes releases is of very poor quality.
I don't have a problem with him copying if the quality of his code was great. I see why Kavsoft is very popular witch the sheer number of good project ideas. However, for beginner developers learning from poor quality code might become a problem in the long run.
This is so great! A lot other channels, mostly non-development, typically critique or discuss other channels' videos. You are the first one I discover doing that for another channels' SwiftUI video and I love it. Learning so much from this and I think this is also what the greater development community should be about: helping one another. I also love your thourough explanations! Thank you
This was a fantastic code review. I’m going to share this with my team to improve PR reviews. Looking forward to more
there is nothing better than some good refactoring. Subscribed!
Thanks for this code review! As a software engineer new to Swift and SwiftUI, I appreciated learning the real best practices such as Combine, flexible frames, and view modifiers. I hope to see more like this!
Thank you! This kind of video is exactly what I need to advance. Please consider making more refactoring / best practices videos.
Will do!
Nice code cleanup. I also really enjoyed the tips & tricks that you showed.
Awesome, thank you!
This is really great concept. There is a lot to learn from this. Please keep adding more video with "Code Review" concept.
Wonderful! The technique you use for this video helps my comprehension of what to do and why to do it. Thank you very much!
Great job. There are ao many great tips here. Thank you! More code reviews would be awesome. There are so many “ Simple” examples that bypass good practices like using enums instead of string compares. The core data helper is fantastic.
Thanks for this. Again, a great video lesson. It’s very useful to see an excellent developer do a code review like this. I learnt lots. Thanks.
This is an awesome video. You should do more of code reviews and refactoring. It's an great way to introduce new ways to improve code quality resorting to non-real world examples..
Thanks, will do!
Thank you the video. Do you have your own GitHub repo with your completed code?
I want my SwiftIUI projects reviewed by you very much. I will send my project as soon as I finished.
Love this kind of video. Very nice channel and very good videos to get better in Swift/SwiftUI
Beautiful. Great code review. I have learned a lot with you.
Really awesome coding review, I found that when delete a task, context is not saved, should this one be another area need a fix?
I'd love to see more of these.
This was a good code review, thanks.
Thank you for this! You’re the first person I found who even addresses the new auto generated code in core data. I think it’s about 50% more clear now! 😅 Perhaps you could reach out to the original UA-camr and give them tips for updating the tutorial, or if you have the time and desire, make a quick tutorial walking through that auto-generated core data code. Either way thank you again for this video! It’s a great example of a respectful code review. 😊
I only realised that the Core Data preview is a problem that nobody addresses after I published the video. You are right I should make a video dedicated to that. It is strange to me that most tutorials ignore the autogenerated code when you create a new project. They usually go “okay, we delete this because we learn more by implementing it ourselves”. When I see autogenerated code, I think “this is sample code from Apple engineers, that wanted to show best practices to the developers 🤩”. So I always take time going through it and learning from it.
@@SwiftyPlace exactly how I feel! One of the hardest parts for me with iOS development is there are so many layers of abstraction and helpful stuff done for you, but not even Apple seems to feel it’s necessary to explain why things work for beginners. When I learn I need to know why I’m doing something in order to wrap my brain around it. I think most tutorials avoid that since it can create very long tangents, but without it, I’m just copying someone else’s code and trying to shove it into my own project. Then if something breaks, I’m stuck. I think I might look for more code reviews like this and see if that helps! Thank you again!
Perfeect! Someone actually explaining what the code does, thankyou!! :)
Thanks! It was interesting.
I learn a lot from your videos.
Very grateful for the videos and this taught me I have so much more to learn. I became lost around the extensions; thus an area I must review! Further, I am interested to know what resources or where you learned your code understanding? Are you available for a conversation? TIA
Enjoyed it and looking forward to more of your videos.
FYI, the use of Spacer() is recommended over making a Text frame larger; the reason is Text requires a pixel buffer allocated and the larger the frame the more memory it will consume, whereas a Spacer() simply affects the underlying layout constraints.
Interesting, thanks for sharing. Where did you find this information?
@@SwiftyPlace The UILabel is creating a bitmap to render the label onto before passing it the rendering system. I was (probably wrongly) assuming that a Text was mapped 1-to-1 to a UILabel under the hood. I've done some further testing however and it looks like Apple may have optimized this internally and the .frame that you pass doesn't seem to actually change the frame of the Text rendered element, only affects is relationship with other views around so maybe that optimisation is no longer required with SwiftUI. In a previous comment I posted a link to an article that discussed UILabel bitmap allocations .. check it out if you can somehow see it.
Such a great video.
Is the updated code available in GitHub or elsewhere? I learned so much from what you showed us. I want to play with final result especially the piece of combine you brought it. Thanks
This is a wonderful tutorial. I am a SwiftUI and Combine beginner and have been unable to find any sample code that isn't one of a handful of small toy projects. This video helped me understand a bit better the way of thinking when using SwiftUI. Is it possible to share the final finished project?
Amazing. Thank you very much
OG developer reviews intern code😀
I don't use SwiftUI previous because on a big project I am working on it takes longer to update the preview than to rebuild the app, that's a nonsense that it is not just hot swapping the changed code...
Hallo und Danke für dieses Tutorial.
Ich habe versucht, alles exakt so nachzuvollziehen. Und: es klappt! Vielen Dank!
P. Plass
Thank you.
at 5.00 coolers turns on :)
Die Qualität deiner Videos ist beispielhaft ...
👏👏👏, 🙏 ❤️
Regarding the original design...
If there's one piece of advice I can give to junior, intermediate programmers who want to ship their own apps, it's this: do NOT design the UI yourself. Most often, you don't know what you don't know.
Look at what Apple does, go through their apps, look at what they're doing. Then copy that.
They don't always get it right (see: Reminders app) but they get it right more often than not.
If you're on a budget, hire a design freelancer for a few hours, to review your design, give you some guidance. Tap in to their sense of design and aesthetics.
Invest in yourself: take some introductory courses in visual design and typography. These skills will be at least as important as any Swift course you'll take, and will last you a lifetime.
Finally! That is clean code and best practises, not kavsoft strange things
This kavsoft person rehashes a lot of nice tutorials by other great contributors, like Paul Hudson. The “self made” content he sometimes releases is of very poor quality.
I don't have a problem with him copying if the quality of his code was great. I see why Kavsoft is very popular witch the sheer number of good project ideas. However, for beginner developers learning from poor quality code might become a problem in the long run.