Replace “I have to…” with “I get to…”
Makes things so much easier.
Day 87 #100DaysOfSwiftUI
✅ Overview of the Flashzilla project (II)
🔑 takeaways:
👉 Use .onReceive for publishers (like timers)
👉 scenePhase tracks the state of the app (active, inactive, background)
👉 You can access the a11y settings of the user via the environment
If #Xcode doesn't seem to recognize your connected iPhone, try this command in your terminal after disconnecting the device and quitting the program 👇
Day 86 #100DaysOfSwiftUI
✅ Overview of the Flashzilla project (I)
🔑 takeaways:
👉 Child's gesture has priority by default
👉 Gestures can be sequenced
👉 CoreHaptics for complex vibrations
👉 .allowsHitTesting() & .contentShape()
Also, I created something … interesting 🤔
Government websites are usually a hot mess.
One positive example though is https://www.ch.ch/en. It provides simple answers to frequently asked questions for Swiss citizens.
Great UX, available in 5(!) languages and built with modern technologies (spotted Nuxt 🤓).
Day 85 #100DaysOfSwiftUI
✅ Added some additional features on my own
Also, there was a rewrite of the save and load functionality.
The awesome thing is, by now I already have built a library of code snippets, so I used one from the BucketList project for this feature :)
Day 84 #100DaysOfSwiftUI
✅ Building the HotProspects project (III)
🔑 takeaways:
👉 Encapsulate your code (getters & setters)
👉 Make properties & methods private if possible
Refactoring and making your code better is just 🫶
Day 83 #100DaysOfSwiftUI
✅ Building the HotProspects project (II)
🔑 takeaways:
👉 .textContentType for better autocompletion
👉 There is a built-in QR code generator
This QR code part sparked an idea in me – maybe I'll explore it further…
And there it is, I've finally made my first $ (well, actually it's even two) on the internet!
What a feeling 🙌
(@rungxanh1995 is responsible for this if you want to leave some nice comments 😉)
Show thread (2 posts)
Since there were some requests to publish my wallpapers:
Introducing blurli:
minimal – beautiful – blurry af
Blurry and noisy wallpapers for desktop and mobile – carefully crafted and curated by hand.
Get them here: http://hoferdo.link/blurli
Thanks for your support ❤️
Show thread (2 posts)
Sunday funsies:
Made some of my @Spotify playlists public and designed dreamy artworks for them (inspo: @FonsMans).
Enjoy!!
Awesome reference app for anyone learning SwiftUI! https://xcancel.com/SwiftDev_UI/status/1573822304890527744
Lil reminder that disliking the things you've created in the past is a sign of growth.
Day 82 #100DaysOfSwiftUI
✅ Building the HotProspects project (I)
🔑 takeaways:
👉 Customizable view with enums
👉 Reminder: Mark ObservableObject classes as @ MainActor
👉 Dynamically filter data with computed property
I enjoy these kinds of days just building layouts.
Day 81 #100DaysOfSwiftUI
✅ Overview of the HotProspects project (III)
🔑 takeaways:
👉 .contextMenu modifier for secondary actions
👉 .swipeActions on list items for further actions
👉 Two types of notifications: Remote & local
Great UX is already built in!
Did you know that there is a more convenient way to add the frame modifier you need in #Xcode14?
Just type .frame + the abbreviations of the properties you need (e.g. w for width, wh for width and height, …) and let autocomplete do the work for you!
A number to keep in mind 👇 https://xcancel.com/yannicklu/status/1573303483457048577
.@thatsfinsweet has many great Webflow products that I love to use (available for free!).
But my absolute favorite is Attributes: Whenever I need something that's not possible in Webflow, chances are that there is an attribute that exactly solves my problem.
Feels like magic ✨
Show thread (2 posts)
DALL-E 2 is great, but writing good prompts can feel like art as well.
I've discovered this awesome presentation which helped me learn a lot about writing prompts for various styles 👇
Day 80 #100DaysOfSwiftUI
✅ Overview of the HotProspects project (II)
🔑 takeaways:
👉 objectWillChange is for manually publishing changes from classes
👉 Use .result on a Task to simplify code (returns either return type or error)
👉 SwiftUI automatically interpolates images
iOS devs should really appreciate the fact that the new OS version is adopted so fast 🤯
Makes me excited to use the new SwiftUI features :) https://xcancel.com/ChristianSelig/status/1571573431010836483
Day 79 #100DaysOfSwiftUI
✅ Overview of the HotProspects project (I)
🔑 takeaways:
👉 @ EnvironmentObject makes data accessible to child views, use it with .environmentObject modifier
👉 TabView is a parent view for your whole app, it uses the .tabItem modifier
The new default SwiftUI view now features an icon.
Spotting this little change is a great reminder of how far I've already come on my #100DaysOfSwiftUI journey!
Uno #011
If you are a dev, you probably use the terminal pretty often. The best one in my opinion is Hyper by @vercel.
Built with HTML, CSS & JS and therefore easily extensible with plugins and customizable with gorgeous themes.
Here's mine, love the clean look:
Show thread (2 posts)
Day 78 #100DaysOfSwiftUI
✅ Extended personal CRM app with location feature
Learned how to use the TabView view and also finally understood what .constant() is for 🤓
No coding tweet today but a delicious pizza I had yesterday to kick off the weekend 😋
Have a nice one everybody!
“Build what you wished existed.”
Great inspiring talk @austboston 🙌 https://xcancel.com/austboston/status/1570436294957993985
Day 77 #100DaysOfSwiftUI
✅ Built a little personal CRM app
Finally got around to finishing this one. The UI part wasn't that hard (although it isn't anything fancy).
But saving the image was harder than I thought. Luckily, I found a helpful Github repo 🤓
Show thread (2 posts)
Built a lil URL shortener for my personal domain, following the tutorial linked in the next Tweet.
It's built using @nextjs, @prisma, @planetscaledata, and @vercel.
Test it @ http://hoferdo.link/twitter
Show thread (2 posts)
Just built my profile on @Polywork! Check it out and get in touch with me there for all kinds of polyworking opportunities - https://poly.me/dominikhofer
Designed a possible icon for my first iOS app.
What do you think?
(And also wanna guess, what the app will be about? 😏)
Show thread (2 posts)
This right here 👇 https://xcancel.com/marc_louvion/status/1569299284549304322
A great reminder 🧠 https://xcancel.com/SahilBloom/status/1568938838113882112
Uno #010
As you probably know, I'm currently learning SwiftUI and getting into iOS dev. And if I like one thing in particular, it's the great community around the topic.
A great resource to discover apps made by fellow indie hackers is @AppAirport. I love exploring them!
Show thread (2 posts)
Day 76 #100DaysOfSwiftUI
✅ Did some a11y reviews on my own
Pretty much consisted of spotting the issue (the hardest part) and then hiding elements and/or providing declarative labels.
Also scored 12/12 on the review test, which made me quite proud 😇
Day 75 #100DaysOfSwiftUI
✅ Making previous apps accessible
🔑 takeaways:
👉 Making apps accessible isn’t that hard, just do it!
New Apple Watch lineup in a nutshell. https://xcancel.com/escoen/status/1567567510571991044
One of my favorite things to do after an #AppleEvent is browsing the new product websites.
Always so many delightful details to discover ✨
Day 74 #100DaysOfSwiftUI
✅ Intro to a11y
🔑 takeaways:
👉 Use labels to describe content
👉 Decorative images
👉 Hide unimportant elements to VoiceOver users
👉 .accessibilityElement()
👉 use .accessibilityAdjustableAction to give VoiceOver users custom actions
Day 73 #100DaysOfSwiftUI
✅ Added some additional features on my own
Another project done 🥳
The main task here was to refactor the EditView to conform to MVVM. I found the initialization in the view itself quite interesting:
Is there a similar course to #100DaysOfSwiftUI but for #React or #Typescript?
Really like this format and I learn quite well with it 👨💻