This profile is from a federated server and may be incomplete. Browse more on the original instance.
And it happened…
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 🤔
Swift Playgrounds isn’t released yet and the beta has just expired. I hope we won’t have to wait too long 🙏
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 🤔
I really wanted display the currently playing radio station logo and the name on the lockscreen. I managed to do it today (yey!)
I didn’t expect I will be able to AirPlay for free though. That’s cool! 👀
Future plans: reduce wasteful requests. I don’t know how caching should work yet, but I will try to learn it.
I finally got out of the tutorial trap and made some real progress. Basic, but usable… radio app!
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!
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.
Thanks @twostraws ❤️❤️
Today’s release notes: 🤓
- Image credits.
- Saving favourites to the persistent storage,
- 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.
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.
🖋 😎 Practice Gratitude every day to be happy, fulfilled and calm with this Siri Shortcut https://michael.team/gratitude/
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.
Ok, let's see if #buildinpublic will help me revive Skipper, my boating logbook app!
- Migrate to #SwiftUI
- Ditch old 3rd-party libraries
- Support CloudKit sync (database migration required 😱)
- Play with Widgets/Live Activity, AppIntents/Shortcuts, #watchOS, etc.
But not all at once this time 🤣
App Store link: https://apps.apple.com/app/id671764434
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.
I learnt a lot today! I tailored experience based on accessibility environment values, practiced working with timers and faced some logic challenges.
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 🤍