The first experience of using one of the projects from the 100DaysOfSwiftUI on iPhone was amazing, absolutely different to what I experienced while I developed it on iPad
🤩
I often find myself wanting to practice some Swift concepts but not really wanting to come up with a full app idea / use case for them. I just started with Swift Coding Challenges by Paul Hudson thanks to the @iosdevhappyhour generosity and it’s exactly what I was looking for! As little or as much as a book with challenges 🤩
I noticed that by finishing #100DaysOfSwiftUI I lost my big goal but I didn’t set another for the future. That explains my deficit of desire to code recently.
Knowing that at least I have a goal to find a goal now 🤔
A small experiment today - Bionic Reading clone. I don’t know if it even works, but I always wanted to code it myself. For some reason it cannot handle large amounts of text though 🤔
Daily recommendation of an eye-opennig WWDC session.
Because iPadOS and iOS are like twins I didn’t event though that apps targeting iPad should have more customization than simply more content, bigger content. I am really surprised how blind I was about some unique iPad features. Great to learn how I can be utilize them
Today was the day of updating my knowledge about data flow in iOS 17. I really liked the new Observable macro, how it simplifies things and removes code. I am glad I won’t have to think so much about what property wrapper should I use. 🙏
I can already see that I encapsulate code much more frequently because I need to think very little, and I am no longer afraid of how to pass the data, which was a big difficulty for me just a few days ago.
I watched a marathon of SwiftUI videos today (mainly WWDC sessions but also from YouTube creators), but „Data Essentials in SwiftUI” WWDC20 session was personally the most helpful after completing #100DaysOfSwiftUI.
It helped me understand why there are so many ways of supplying data to views and what’s the use case for each of them. My recommendation!
I just started reading „Pro Swift” by @twostraws, and I can already see that I underestimated tuples. Now I want to know everything about them 😆
I was a bit disoriented at the day 101, but starting this lecture filled me with energy and hopefully will teach me some techniques so I can bring my ideas to life in a less blind, less frustrating way 🤞
I started my first, post-100DaysOfSwiftUI practice project - Checkers. The code is so messy though that I am not brave enough to show it. 🫣 I feel that I need to learn how to organise it, or I will be lost quickly ☹️
Do you know good resources on the topic that might help me? I would be grateful! #swift
@JTostitos I’ve heard it a lot, but in my case, it’s one of those things that is much harder in practice. I think I know what I should be looking for now though. Thanks, Jonathan!
What an empowering experience! Learned a lot about Swift, even more about SwiftUI, but I have also become much better at tackling problems.
I had some worse moments during the challenge, but reminding myself of what other folks have achieved with these tools always got me back on track. I appreciate folks sharing their work or just following me on the journey.
@twostraws The program went pretty smoothly, with the exception of the UIViewController “beast” 😆. I wrote the code for the ImagePicker once and later copied it when needed. I remember that part being overwhelming for me at that time though.
I spent a decent amount of time playing with Shortcuts in the past but became a bit bored with their limited UI interactions at some point. (I really enjoy everything about user interfaces and I don’t need to tell you that Shortcuts don’t allow for much customization.)
If you have any ideas that could benefit from being turned into an app, I highly recommend the course. Real apps are a bit of a rabbit hole, though, so I understand you. Shortcuts are cool too! 😄
Not feeling particularly motivated I searched on YouTube for my favorite Apple products, keynotes or best apps by other developers. It sounds funny but I notoriously forget the “Why I am doing this”
Share your challenge updates, especially mistakes. I still struggle with that but it’s so freeing!
Difficult problem is often made of small problems. Try to separate and solve the small ones
@averagevelociraptor I can say the same about following your journey, thanks for sharing it :) Oh and I wish I had plans big enough to meet the expectations 😆
Sorting modes (My brother made me get off the original challenge by replacing the default sorting for the favourites mode and I have to admit it is spot on)
Once again, today was mostly practice. I am happy because by watching a lot how Paul writes code I am getting better at designing my structs, functions so swiftui views aren’t messed because of bad design.
Just completed day 33 of the #100DaysOfSwiftUI challenge, adding animations to my Guess The Flag project. It took 3 times as long as it needed to thanks to me forgetting that an animation modifier can watch a ternary operator, but the end results are beautiful!
Not much of new features learned today, I guess for the sake of practice so I really appreciate it. Today’s work look great in my opinion, especially the details view. (Congratulations for the design @twostraws 😄.) And it fits different screen sizes really well too!
Speaking of practice, I also started writing a radio app based on the radio-browser.info data!
Today, I got to know about NavigationView’s adaptivity, when to use a Group container, learned about .searchable and how to work with optionals and sheets/alerts.
Really nice dose of features, I am especially curious how challenging it is to create layouts that fit different screens WELL 🤔
Roll the Dice, today’s challenge app. Challenges are essential because they really show what you think you can do isn’t what you really can do. I managed to get around obstacles though and I even added confetti effect imported from the ConfettiSwiftUI package 😀
I didn’t make enough time for additional challenges like haptics, rolling “animation”, multiple rolls at once. I will try to implement them in the following days!
During this challenge I got to know min() and max() which turned out to be super handy together with GeometryReader. The last one feels easier and easier to work with. It makes me happy because I remember times when I was a bit afraid of working with it.
I learnt about a bunch of really surprising techniques today. All of them focused on creating a view layout. Finding out how a size of a view is determined was super helpful. Can’t wait to see how the techniques are utilised in the final app.
Help appreciated! #SwiftUI
For some reason I had to add 0.5s DispatchQueue delay between removing the card from the array and inserting it back at the index 0 so users can see the card again later. Otherwise the wrong-marked card wasn’t moved to the bottom of the stack. Why? The card is Identifiable and ForEach iterates on the cards array with id. .id.
EDIT: New UUID for the card helps too
I got ahead yesterday accidentally and it looks to me like a good sign, because it seems I am able notice things that should be noticed and fixed. Beside that, today I really liked the part where Paul challenged me to do the work on my own and later go back and check results. It didn’t went as smoothly as I expected but it was still helpful in terms of showing where are my weak spots.
I did some customisation too. First, I customised a bit allowsHitTesting conditions so cards under the surface card can’t be manipulated therefore removed accidentally. Second, I added withAnimation for reseting card offset smoothly and switched from ternary conditional operator for card background coloring to Color computer variable to avoid an animation glitch I’ve noticed.
Once again I had a chance to learn about some Swift/SwiftUI features: further accessibility support thanks to the Environment values, timers, reading when the app (or more appropriately „scene”) moves to the background. I am curious how these will be utilised in the project!
As the 100 Day of #100DaysOfSwiftUI is closer and closer I feel it would be helpful to practice more. So here’s a small project I started today - Pong! It’s doesn’t look particularly impressive, but it taught me a lot. More about math application than Swift and SwiftUI to be honest 🤣
Sorting mode selection, glanceable Contacted status and switch from UserDefaults to the Documents Directory. Overall, the challenge wasn’t hard. Maybe I just made a bit of progress? Maybe both? 🤔
I appreciate your favourites under my updates btw. It’s good not being alone during this journey 🤍