100 Days of SwiftUI Review

I finished going through 100 days of SwiftUI. I had taken some programming classes in college a long time ago. I also had done a very small amount of programming in Basic and VisualBasic, along with writing things like scripts and batch files but I was basically coming into this class as a beginner. I had no idea how Xcode worked or how to even make a simple app.

This course starts with the programming basics and builds on that to develop iOS app. After about 20 days into the course, I was building my own apps on my phone. They weren’t anything spectacular, but I quickly learned how to put enough code together to make something that was useful, although highly customized to my own needs. I continued working on my own apps throughout the course, trying to implement the techniques that I was learning in each lesson. This helped me to understand and remember the material.

Around day 38, I found the course became really difficult and I was getting overwhelmed trying to keep up. By about day 40, I was totally lost and became incredibly frustrated with the course. I decided to stop and start over from the beginning and go slower the second time through.

I managed to continue making progress, though some days the progress was slower than I wanted it to be and some days would turn into two or three days before I was able to complete the days work. There were also days, especially later on in the course, where the material was not as heavy.

This course basically took me from not having any idea on how to build an app for the iPhone to being able to produce something that I plan on submitting to the app store. How well will it do? I don’t know and I’m not really that concerned about it. It’s an app I regularly use now, another family member also regularly uses it, and another person has requested to have it as well.

Overall, I would rate this course: 5 out of 5 stars. It was a great course. Below are a list of my pros and cons. Even though I did list some cons, I think they are minor and the amount of excellent material found in the course, far outweighs them. If you want to learn Swift and SwiftUI, I have to believe Paul’s course is the best place to start. You’ll get a good idea if it’s for you with the only investment being your own time and energy.

PROS

  1. The course is totally free.
  2. There is a lot of material. 100 days worth. I actually found it to be much more than that.
  3. Paul keeps things interesting, is highly knowledgeable, easy to understand, and does a great job teaching the material.
  4. There are lots of projects to work on, challenges to do, and quizzes to take.
  5. There is also a forum to get help and ask questions. I used this frequently in my second attempt through the course in the beginning. I found I needed it less as the course progressed.
  6. The material is provided in both video and text format, so you can choose the method that works best or combine them.

CONS

  1. My biggest gripe about the course is the 100-day mentality. I found I did much better when I let go of that and progressed at my own pace. While advertising the course as 100 Days is a nice gimmick, it can be frustrating to think I’m going to be able to do this in 100 days only to find out that it’s going to take much longer than that. My advice to anyone taking this course, if you’re a beginner, is don’t expect to get through it in 100 days. Take as long as it takes. There’s a lot of good material in the lessons. Take the time to learn it even if it goes slow. Continue to make progress a little bit at a time.
  2. There are times when I felt Paul went too fast and glossed over things that he could have spent more time on and given more examples. A couple of examples of that would be Result, AlignmentGuides and really about half the lesson on Layout and Geometry. That was by far my least favorite lesson.

Day 100 Completed

I finished day 100 and also the epilogue. I actually took my test last night. I got two questions wrong. One because I didn’t read the question carefully enough and another because I didn’t know the right answer.

I spent the previous week and a half going over all the review questions and one thing that became clear is that I still don’t understand some of the topics as well as I’d like. I definitely plan on going back over some of the material, and I’ve already started that. I think I’m also going to do the Ulimate Portfolio App next as well. It seems to be the next logical step from the options I’ve researched.

Additionally, I want to submit an app to the app store in the next month or two. I guess I’ll set myself a deadline of June 1st to get that out. It’s mostly done but there are a few adjustments I want to make.

One last note, it took me roughly 160 days to get through the 100 days. I’ve been in IT for quite awhile but programming is new to me, other than some basic programming, scripts, database management and some courses I took in college years ago.

One last last note. Thanks to those of you on this forum(the Hacking with Swift forum) who helped answer my questions and provided support my second time through. Using this forum was what gave me the motivation and understanding to be able to get through the tough spots.

Day 99 Completed

I finished day 99. I found these challenges to be fairly straightforward. I have been working with similar things in my own projects so I’m sure that helped. For the first time my challenge three solution was almost identical to Paul’s. All that’s left is the final exam tomorrow.

Day 98 Completed

I finished day 98. I’m done with the last app and I’m thankful for that. I wasn’t too enthusiastic going into this last app because part of the focus was on developing for the iPad which didn’t really interest me, but there actually there wasn’t that much time devoted to doing that and mostly it was continuing to learn stuff I wanted to learn. Tomorrow is the last challenge and then the final exam.

Day 97 Completed

I finished day 97. This day was ok. I learned a few new things. I understand better how the NavigationView works with the primary and secondary views. It was much clearer in this video with actual data than in the first video using simple Text views. A couple of longer videos in this day but they covered quite a bit of material we’d gone over before so it wasn’t overwhelming.

Day 96 Completed

I finished day 96. This day was fairly easy. I didn’t find this day as interesting as some. I don’t plan on developing anything for the iPad any time soon so learning about it really isn’t that appealing to me. Everything, I’m currently working on is for the iPhone and I don’t own a recent iPad and I have no plans to purchase one either. I did find the video on the searchable modifier to be something I might implement.

Day 95 Completed

I finished day 95. This was an interesting challenge. It wasn’t too difficult except for the timer bit. That took a little bit of thinking on my part and I had to walk away from it and come back before I was able to get it working. I implemented all the challenges within the challenge except for the accessibility stuff. I wasn’t trying to make a polished app with this, I just wanted to get it functioning. In light of that it wasn’t really visually pleasing and I wasn’t looking to implement accessibility. Basically, it was downright ugly, but it worked. I have been wanting to make a dice rolling app for awhile so this is likely one I will continue to refine or entirely redo. As far as my code went, it worked, but as always, Paul’s solution was alot more refined. It didn’t occur to me to do the die rolling inside the struct itself, but I did use a timer implementation similar to his. One more project left.