Dominik Hofer
Dominik Hofer

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

Show thread (2 posts)
Dominik Hofer
Dominik Hofer

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

Dominik Hofer
Dominik Hofer

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!

Dominik Hofer
Dominik Hofer

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)
Dominik Hofer
Dominik Hofer

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 ๐Ÿค“

Dominik Hofer
Dominik Hofer

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)
Dominik Hofer
Dominik Hofer

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)
Dominik Hofer
Dominik Hofer

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 ๐Ÿ˜‡

Dominik Hofer
Dominik Hofer

One of my favorite things to do after an #AppleEvent is browsing the new product websites.

Always so many delightful details to discover โœจ

Dominik Hofer
Dominik Hofer

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

Show thread (2 posts)
Dominik Hofer
Dominik Hofer

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:

Dominik Hofer
Dominik Hofer

Is there a similar course to #100DaysOfSwiftUI but for #React or #Typescript?

Really like this format and I learn quite well with it ๐Ÿ‘จโ€๐Ÿ’ป

Dominik Hofer
Dominik Hofer

Day 72 #100DaysOfSwiftUI

โœ… Built the BucketList project (part III)

๐Ÿ”‘ takeaways:
๐Ÿ‘‰ ViewModel is a software architecture pattern (create view extension)
๐Ÿ‘‰ View should only be responsible for displaying data
๐Ÿ‘‰ Use private(set) in ViewModel
๐Ÿ‘‰ You can encrypt data on save

Dominik Hofer
Dominik Hofer

Uno #009

The one app you probably use the most every day is your browser. Why not give it an upgrade?

The best new browser on the market is, without a doubt, Arc by @browsercompany.

Clean design and many great features you won't find elsewhere ๐Ÿคฉ

Show thread (2 posts)
Dominik Hofer
Dominik Hofer

Day 71 #100DaysOfSwiftUI

โœ… Built the BucketList project (part II)

๐Ÿ”‘ takeaways:
๐Ÿ‘‰ + Text() to combine texts
๐Ÿ‘‰ Outsource as much cleanup work as possible to the data struct
๐Ÿ‘‰ Reminder that nil coalescing is so useful

Dominik Hofer
Dominik Hofer

Day 70 #100DaysOfSwiftUI

โœ… Built the BucketList project (part I)

๐Ÿ”‘ takeaways:
๐Ÿ‘‰ Add example data to types
๐Ÿ‘‰ You can use optional variables to toggle sheets
๐Ÿ‘‰ Set default state values with initializer and _variableName

Really like working with maps so far!

Show thread (2 posts)
Dominik Hofer
Dominik Hofer

Day 69 #100DaysOfSwiftUI

โœ… Further intro to the BucketList project

๐Ÿ”‘ takeaways:
๐Ÿ‘‰ MapKit integrates natively into SwiftUI (and is quite pleasant to use)
๐Ÿ‘‰ You can add FaceID pretty easily as well (needs permission)

Was surprised that this didn't need some UIKit-hacks ๐Ÿ˜ฎโ€๐Ÿ’จ

Dominik Hofer
Dominik Hofer

Day 68 #100DaysOfSwiftUI

โœ… Overview of the BucketList project

๐Ÿ”‘ takeaways:
๐Ÿ‘‰ If structs confirm to comparable protocol, they are sorteable
๐Ÿ‘‰ You can save data directly to the documents directory
๐Ÿ‘‰ Use enums to show different states of UI

Dominik Hofer
Dominik Hofer

Day 67 #100DaysOfSwiftUI

โœ… Added some additional features on my own

Explored some more CIFilter options, there are surprisingly many!

Also learned that you can just disable views by checking if an optional is empty.

Dominik Hofer
Dominik Hofer

Yesterday, instead of completing the next day of #100DaysOfSwiftUI, I did something even more exciting.

I created my own lil app, a minimal Tichu counter ๐Ÿƒ

Pretty simple right now but if anyone wants to try it out, let me know :)

Dominik Hofer
Dominik Hofer

Uno #008

School has started and you're looking for a suitable notetaking app for students?

@rem_note is all you'll ever wish for: Easy to use interface based on nested bullet points and even better: The ability to easily create flashcards right from your notes to practice.

Show thread (2 posts)
Dominik Hofer
Dominik Hofer

Day 66 #100DaysOfSwiftUI

โœ… Built the Instafilter project (part II)

Two things that bug me right now is that the gray background can be bigger than the image itself and that there is no success message (maybe these are going to be tomorrow's challenges ๐Ÿค”).

Dominik Hofer
Dominik Hofer

Day 65 #100DaysOfSwiftUI

โœ… Built the Instafilter project (part I)

๐Ÿ”‘ takeaways:
๐Ÿ‘‰ You can place optional views in UI

This day was a real blessing compared to yesterday ๐Ÿ˜‚

But it's great to see how fast I can already build UIs by now!

Dominik Hofer
Dominik Hofer

Day 64 #100DaysOfSwiftUI

โœ… Final introduction to the Instafilter project

๐Ÿ”‘ takeaways:
๐Ÿ‘‰ Use coordinator to create delegates (bridge to SwiftUI), which is pretty complicated
๐Ÿ‘‰ Edit info of target for certain operations
๐Ÿ‘‰ Saving an image also requires UIKit

Show thread (2 posts)
Dominik Hofer
Dominik Hofer

Day 63 #100DaysOfSwiftUI

โœ… Further introduction to the Instafilter project

๐Ÿ”‘ takeaways:
๐Ÿ‘‰ CoreImage is the image manipulation framework (quite hard to get it to work though)
๐Ÿ‘‰ You have to use UIKit sometimes inside of SwiftUI, which is possible (e.g. the photo picker)

Follow

RSS Feeds